Autor Beitrag
johannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: So 24.11.02 13:25 
Hallo,
weiß jemand eine Möglichkeit Strings während der Laufzeit in einer Listbox
zu speichern.
Also zur Entwurfszeit kann ich ja in dem Stringlist Editor Strings eingeben , die auch dort gespeichert bleiben.
Dies würde ich auch gern zu LZ machen, ohne Strings in einer extra txt zu speichern.

Vielen dank


Johannes
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: So 24.11.02 13:32 
Hallo,

dannst die Zeilenweise mit hinzufügen, das geht so:
ausblenden Quelltext
1:
ListBox1.Items.Add('Neuer Eintrag');					

Du kannst auch alle Zeilen durch ein Komma Getrennt auf einmal eingeben. Das setzt natürlich vorraus, das die einzelnen Strings kei Komma enthalten:
ausblenden Quelltext
1:
ListBox1.Items.CommaText := 'Zeile 1, Zeile 2, Zeile 3';					


Gruß
Klabautermann
johannes Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: So 24.11.02 14:05 
Titel: Listbox String speichern
Hallo Klabautermann,
schon mal vielen Dank für die schnelle Antwort.

Das mit der Items Eigenschaft war mir klar. Zur genaueren Problembeschreibung Folgendes.

ein Form mit einem Edit1 und einer ListBox1:
Beim laden der Form ist die Listbox leer.

Nun gebe ich in das Edit1 einen String ein. Durch das DplClickEvent des Edit1 schreibe ich den String in die ListBox1(alles OK).

Nun schließe ich das Form1.
Beim erneuten öffnen ist die LB leer. Sie sollte aber den vorher geschriebenen String enthalten. Das ist mein Problem ( sorry möchte nicht nerven, vielleicht übersehe ich irgendwas ).


Johannes
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: So 24.11.02 14:37 
Hallo Johannes!

Woher soll das Programm auch wissen, dass beim letzten öffnen irgend ein Eintrag drin war? Es weiss es nicht und deshalb musst du beim "zerstören" der Programms, also bei OnDestroy, die Liste abspeichern. Beim "erstellen" musst du diese Liste dann wieder laden:
ausblenden Quelltext
1:
2:
3:
4:
5:
OnDestroy:
  ListBox1.Items.SaveToFile('Test.txt');

OnCreate:
  ListBox1.Items.LoadFromFile('Test.txt');
Gruß wulfskin!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: So 24.11.02 14:41 
Hallo noch mal.

Dann musst du bei Beenden des Programms mit ListBox1.Items.SaveToFile(Dateiname) speichern und beim Starten mit ListBox1.Items.LoadFromFile(Dateiname) wieder Laden.


Gruß
Klabautermann