Ich schreibe Daten in einen Stream.
Delphi-Quellcode:
dat : AnsiString;
begin
dat := 'Test' + #13#10;
stream.WriteBuffer(dat[1],Length(dat));
str.Position := str.Size;
Das funktinoniert problemlos.
Verwende ich jedoch einen Unicodestring
Delphi-Quellcode:
dat : String;
begin
dat := 'Test' + Char(13) + Char(10);
stream.WriteBuffer(dat[1],Length(dat));
str.Position := str.Size;
Dann sind im Stream die Steuerzeichen verschwunden.
Schreibe ich jedoch in den Stream mit
stream.WriteBuffer(dat[1],Length(dat) + 2);
dann funktioniert es.
Analog
dat := Char(13) + Char(10) geschrieben geht nicht.
Nachfolgender Konstruct funktioniert dann wieder:
Delphi-Quellcode:
b : Array[1..4] of AnsiChar;
begin
b[1] := #13;
b[2] := #0;
b[3] := #10;
b[4] := #0;
str.WriteBuffer(b[1],4);
length scheint #13#10 nicht als Zeichen mitzuzählen.
Oder hat wer eine Idee, was ich falsch mache?
Gruß
Peter