Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#17

Re: Klartext -> ANSI -> Klartext

  Alt 23. Jul 2006, 19:25
Ay cruso,

256 mal StringReplace über einen Memo.Text laufen zu lassen ist aus mehr als einem Grund nicht so genial. Da bietet sich eher die simple Iteration an:

Delphi-Quellcode:
function HTMLEncode(s: String): String;
var
  i: Integer;
  ce: String; // character entity
begin
  SetLength(Result, Length(s) * 6);
  for i := 1 to Length(s) do
  begin
    ce := Format('&#%.3d;', [Ord(s[i])]);
    Move(ce[1], Result[i * 6 - 5], 6);
  end;
end;
Aber auch das ist noch nicht genial, da ja nur ganz wenige Zeichen wirklich Probleme machen: Ampersand, LessThan, GreaterThan.

Wenn du die Daten später in einer WebBrowser-Lomponente anzeigen willst, dann ist gar keine Kodierung nötig, da du den Text einfach der Eigenschaft innerText eines Elementes zuweisen kannst.

Grüße vom marabu
  Mit Zitat antworten Zitat