Wie wäre es denn, wenn Du jede ListBox in eine extra Datei speicherst?
Zum Beispiel so:
Speichern:
Delphi-Quellcode:
procedure TForm1.Spielspeichern1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
Listbox1.Items.SaveToFile(ChangeFileExt(SaveDialog1.FileName,'.list1'));
Listbox2.Items.SaveToFile(ChangeFileExt(SaveDialog1.FileName,'.list2'));
Listbox3.Items.SaveToFile(ChangeFileExt(SaveDialog1.FileName,'.list3'));
Listbox4.Items.SaveToFile(ChangeFileExt(SaveDialog1.FileName,'.list4'));
Listbox5.Items.SaveToFile(ChangeFileExt(SaveDialog1.FileName,'.list5'));
Listbox6.Items.SaveToFile(ChangeFileExt(SaveDialog1.FileName,'.list6'));
end;
end;
Laden:
Delphi-Quellcode:
procedure TForm1.Spielladen1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Listbox1.Items.LoadFromFile(ChangeFileExt(OpenDialog1.FileName,'.list1'));
Listbox2.Items.LoadFromFile(ChangeFileExt(OpenDialog1.FileName,'.list2'));
Listbox3.Items.LoadFromFile(ChangeFileExt(OpenDialog1.FileName,'.list3'));
Listbox4.Items.LoadFromFile(ChangeFileExt(OpenDialog1.FileName,'.list4'));
Listbox5.Items.LoadFromFile(ChangeFileExt(OpenDialog1.FileName,'.list5'));
Listbox6.Items.LoadFromFile(ChangeFileExt(OpenDialog1.FileName,'.list6'));
end;
end;
Anmerkung:
Hier wird für jede Datei eine eigene Endung verwendet, *.list1 usw.
ChangeFileExt ändert die Dateiendung, d.h. wenn beim Öffnen eine von den 6 Dateien ausgewählt wird, wird auch sichergestellt, dass jede der Listen trotzdem seine eingene Datei (mit der eigenen Endung) bekommt.
P.S.:
Wenn Du den Code einrückst (so wie in meinen Beispielen) wird es übersichtlicher.
Wenn mehrere Befehle zu einer IF-Abfrage gehören, musst Du diese in einen
begin/end-Block schreiben.
//Edit:
Klammern korrigiert