Zitat von
fkerber:
Man sieht also, dass diese Implementierung "Schrott" ist.
Eine ganz gewagte Aussage... Ich denke eher, dass sie einfach für deine Zwecke nicht passt.
Zitat von
fkerber:
Es kann jetzt passieren, dass nur ein LF kommt, dann soll auch NUR ein LF gemacht werden, eben ohne CR (von CR steht dann da ja nix). Genauso soll aber auch ein CR behandelt werden, wenn nur ein CR kommt.
Was soll das Memo in den einzelnen Fällen den anders machen?
Zitat von
fkerber:
Das Memo nimmt bei dieser zeichenweise "Eingabe" immer nur #13#10 als Zeilenwechsel mit CR, aber er soll es auch anders können.
Das ist keine zeichenweise Eingabe; das Memo passt den Text mit der Funktion AdjustLineBreaks an.
Das Problem ist einfach, dass das Control nicht dafür entworfen wurde, dass ihm ein "halber" Zeilenumbruch geschickt wird.
Schon mal daran gedacht, Daten und Darstellung einfach zu trennen?
Delphi-Quellcode:
var strDaten: string;
strDaten := strDaten + Zeichen;
Memo1.Text := AdjustLineBreaks(strDaten);
[Nachtrag]
andere Variante, wenn man .Lines.Text setzt, dann ist das AdjustLineBreaks schon mit drin:
Delphi-Quellcode:
var strDaten: string;
strDaten := strDaten + Zeichen;
Memo1.Lines.Text := strDaten;