Eine Listbox unterstützt keine Zeilenumbrüche für einzelne Items.
Diese werden wie "normale" Zeichen behandelt und in einer Zeile eingezeigt.
Wenn man aber die Items als StringList abspeichert (Items.Text, Items.SaveToFile, Items.SaveToStream), dann werden alle Einzelstrings zu einem großen String verwurschtelt.
Das ist genauso wie innerhalb der TStringList.
Wenn man einer
Item Line einen Text mit Zeilenumbruch zuweist, dann bleibt der innerhalb dieser Zeile, solange man nicht alle Zeilen als einen Text behandelt.
Denn wie soll nach dem Speichern noch irgendwer rausbekommen welcher Zeilenumbruch wozu gehört?
Beim Einlesen werden also alle Zeilenumbruche als Item-Separatoren behandelt.
Delphi-Quellcode:
ListBox1.Items.Add('123 456');
ListBox1.Items.Add('123'#10'456');
ListBox1.Items.Add('123'#13'456');
ListBox1.Items.Add('123'#13#10'456');
Memo1.Lines.Text := ListBox1.Items.Text;
Und daran kannst du rein garnichts ändern, es sei denn du merkst/markierst dir die "ungewollten" Zeilenumbrüche/Steuerzeichen
oder du sorgst dafür, das sowas erst garnicht in die ListBox reinkommt.
Ich empfehle die
fette Variante, drum werd' ich heute nicht mehr auf eine mögliche Speichervariante eingehn. :hattenwirnichtmaleingähnsmilie:
Zitat:
Wenn ich alle Items jedoch Speichere (entweder über ".Savetofile" oder via for-Schleife in FileStream)
Wenn niemand sagt wie was versucht wurde, dann wird da auch keiner sagen können, was dabei falsch gemacht wurde.