function ReplaceSChar(const str:string):string;
var i,j,k,w:integer;
t,s:string;
begin
t := ''; i := 1; s := str;
while StrReplace( S, '\n\r', #13#10) do;
while StrReplace( S, '\r\n', #13#10) do;
while i<=Length(s) do begin
if (s[i] = '\')and(i < Length(s)) then begin
inc(i);
if s[i] = '\' then t := t + '\'
else if s[i] = 'n' then t := t + #13
else if s[i] = 'r' then t := t + #10
else if s[i] = 't' then t := t + #9
else if s[i] in ['0'..'9'] then begin
w := 0;
for j := 1 to 3 do begin //ограничение на текстовую длину числа
k := w*10 + ord(s[i]) - ord('0');
if k > 255 then break; //ограничение на величину числа
w := k; inc(i);
if i > Length(s) then break; //правая граница входной строки
if not(s[i] in ['0'..'9']) then break; //значит число кончилось
end;
dec(i); t := t + char(w);
end else t := t + '\' + s[i];
end else t := t + s[i];
inc(i);
end;
Result := StringToCode(t);
end;
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Dilma, или я чего-то не догоняю, или почему не сделать вот так:
|
|||
карма: 22 |
|