Показать сообщение отдельно
  #1  
Старый 30.03.2011, 12:10
otRock otRock вне форума
Прохожий
 
Регистрация: 30.03.2011
Сообщения: 5
Репутация: 10
По умолчанию Помогите распарсить строку

Всем привет. Есть строка вида:
Цитата:
<$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;
Ответить с цитированием