Moin Jürgen,
Zitat von
Jürgen Thomas:
Delphi-Quellcode:
Memo1.Lines.Clear;
Memo1.Lines.Add('Zeile 1');
Memo1.Lines.Add('Zeile 2' + #13 + #10 + 'Zeile 3');
Memo1.Lines.Add('Zeile 4');
In diesem Fall habe ich als Ergebnis oft Memo1.Lines.Count = 3 (nicht 4) erhalten. Es ging mir nur um die u.U. "fehlerhafte" Anzeige der Zeilenzahl. Die Inhalte der Zeilen werden selbstverständlich korrekt verarbeitet, aber sie enthalten eben teilweise das CR/LF.
Jürgen
das kann eigentlich nur passieren, wenn Du #10#13 hinzufügst.
Schau Dir mal TMemoStrings.Insert an. Dort wird mit EM_REPLACESEL der bei Add übergebene String hinzugefügt.
@oki:
Zitat von
oki:
eigentlich ist #13 der Zeilenumbruch (neue Zeile) und #10 der Zeilenvorschub (an den Anfang der Zeile)
Umgekehrt:
#13 = CR = CarriageReturn = Wagenrücklauf
#10 = LF = LineFeed = Zeilenvorschub.
Zitat von
oki:
Kommt so noch von den alten Schreibmaschinen.
auch nicht
Es kommt noch von Fernschreibern.
Vielleicht kennt ja noch jemand das Kürzel TTY.
Das gab es mal als (Nur-Text-)Druckertreiber unter Windows 3.1 oder als Telnet-Emulation (Windows 95)
TTY = TeleTYper = Fernschreiber.