Всем привет. Есть строка вида:
Цитата:
<$14><$2F><TEXT><COLOR41>[Button Square]<$3E>Hellow world!!!<END>
|
Также в отдельном файле есть таблица сопоставлений, которую я подгружаю в
TStringList:
Цитата:
00=<END>
3A=[Пробел]
3B=!
57=H
73=d
74=e
7B=l
7E=o
81=r
86=w
0930=<TEXT>
0A41=<COLOR41>
0B33=[Button Square]
|
Те данные, что не входят в таблицу - отображаются как
<$00..FF>
Пишу следующую процедуру и всё отображается не так как задумывал:
Код:
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;