![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Всем привет. Есть строка вида:
Цитата:
Цитата:
Пишу следующую процедуру и всё отображается не так как задумывал: Код:
procedure TEditor.StrToTBytes(const str: String); var I: Integer; S: String; begin S := str; CT := TStringList.Create; CT.LoadFromFile('code.tbl'); S := StringReplace(S, #13, '', [rfReplaceAll]); S := StringReplace(S, #10, '', [rfReplaceAll]); for I := $00 to $FF do begin S := StringReplace( S, CT.Values[IntToHex(I, 2)], '<$'+IntToHex(I, 2)+'>', [rfReplaceAll] ); ShowMessage(S); // Тут должно быть продолжение парсинга, но уже что-то не так CT.Free; end; Последний раз редактировалось otRock, 30.03.2011 в 12:21. |
#2
|
|||
|
|||
![]() чет меня вот это смущает:
Код:
for I := $00 to $FF do begin S := StringReplace( S, CT.Values[IntToHex(I, 2)], '<$'+IntToHex(I, 2)+'>', [rfReplaceAll] ); Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#3
|
|||
|
|||
![]() и у вас CT.Free внутри цикла, т.е. после первого прохода... объекта CT уже нет!
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#4
|
|||
|
|||
![]() Да, так и есть, например строка:
Цитата:
Цитата:
|
#5
|
|||
|
|||
![]() Цитата:
|
#6
|
|||
|
|||
![]() Код:
procedure TForm1.Button1Click(Sender: TObject); var I: Integer; S: String; CT : TStringList; begin S := edit1.text; CT := TStringList.Create; CT.LoadFromFile('c:\code.tbl.txt'); S := StringReplace(S, #13, '', [rfReplaceAll]); S := StringReplace(S, #10, '', [rfReplaceAll]); for I := 0 to CT.Count-1 do begin S := StringReplace( S, CT.Values[CT.Names[i]], '<$'+CT.Names[i]+'>', [rfReplaceAll] ); // Òóò äîëæíî áûòü ïðîäîëæåíèå ïàðñèíãà, íî óæå ÷òî-òî íå òàê end; ShowMessage(S); CT.Free; end; Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#7
|
|||
|
|||
![]() После твоей процедуры получается:
Цитата:
|
#8
|
|||
|
|||
![]() странно что у вас такой результат у меня с вашей строкой и файлом:
Код:
<$14><$2F><$0930><$0A41>[Butt<$7E>n Squa<$81><$74>]<$3E><$57><$74><$7B><$7B><$7E><$74><$3A><$74><$7E> <$81><$7B><$73><$3B><$3B><$3B><$00> Вы часом ее не в цикле вызываете? Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#9
|
|||
|
|||
![]() Цитата:
Цитата:
Подозреваю что необходимо использовать регулярки, но с ними не дружу.. буду благодарен, если поможете ![]() |