Warum werden in der folgenden Funktion #$A#9 und #$A durch einen Zeilenumbruch ersetzt? Wenn ich den Code ausführe, hat er schon von Haus aus richtige Zeilenumbrüchem. Mit dem nachfolgendem Code verdoppeln sich bei jeder Ausführung und anschließender rückspeicherung die Zeilenumbrüche, da #$A zweil mal ersetzt wird. Diesen Code findet man öfter im WWW. Wo ist der Sinn? Ein Fehler? Oder muss da irgendwas vom IE gefixt werden?
Delphi-Quellcode:
function WB_GetDocumentSourceToString(Document: IDispatch): string;
// Save a Webbrowser Document to a string
var
Stream: TStringStream;
begin
Result := '';
Stream := TStringStream.Create('');
try
WB_GetDocumentSourceToStream(Document, Stream);
Result := StringReplace(Stream.Datastring, #$A#9, #$D#$A, [rfReplaceAll]); //<-- Sinn?
Result := StringReplace(Result, #$A, #$D#$A, [rfReplaceAll]); //<-- Das verdoppelt den Zeilenumbruch
finally
Stream.Free;
end;
end;