Показать сообщение отдельно
  #6  
Старый 06.03.2015, 14:02
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Да в приципе "свободночеловеческий" вариант с PosEx вполне работоспособен, вот его реализация для D7
Код:
uses
  StrUtils;

function cnv(ds: string): string;
var
 i, b: integer;
 c: WideChar;
 n: string;
begin
  i:= 1;  b:= 1;
  while b < Length(ds) do
   begin
    i:= PosEx('\U', ds, i);
    Result:= Result + Copy(ds, b, i-b);
    Inc(i, 2);
    n:= Copy(ds, i, 4);
    b:= i + 4;
    c:= WideChar(StrToInt('$' + n));
    Result:= Result + c;
   end;
 Result:= Result + Copy(ds, b, Length(ds));
end;
Ответить с цитированием