![]() |
Listbox-Inhalt speichern
Hi
Wie kann man den Inhalt einer Listbox Speichern? |
Re: Listbox-Inhalt speichern
am einfachsten geht es so:
Delphi-Quellcode:
ListBox1.SaveToFile(DateiName);
|
Re: Listbox-Inhalt speichern
ListBox1.Items.SaveToFile(Datei);
|
Re: Listbox-Inhalt speichern
ups :oops:
Stimmt natürlich schließlich hält ja TStrings die Items. |
Re: Listbox-Inhalt speichern
muss ich "Datei" durch den Pfad einer Datei ersetzen oder wie geht das?
|
Re: Listbox-Inhalt speichern
Das ist in der Hilfe erklärt :wink:
|
Re: Listbox-Inhalt speichern
ja ok
Zitat:
|
Re: Listbox-Inhalt speichern
Seit wann steht so etwas in der Hilfe ? Ist doch Allgemeinwissen, was passiert, wenn man nur den Dateinamen angibt, anstelle vom kompletten Pfad....
Was verstehst du nicht ? Wenn in der Listbox die Einträge ['a', 'b', 'c'] stehen, also so: Zitat:
Wenn du nur den Dateinamen angibst, speichert er dir das ins Programmverzeichniss, mit Pfadangaben, also z.B. /mnt/datene/.../datei.ext (arghs, zu viel Linux) oder für dich zutreffend E:\...\datei.ext, dann wird die Datei genau dort gespeichert. |
Re: Listbox-Inhalt speichern
schreib bitte ein beispiel damit ich mir mal n bild davon machen kann
denn ich hab bis jetzt nicht richtig verstanden wie ich das schreiben soll |
Re: Listbox-Inhalt speichern
In Beitrag #3 hast du ein Beispiel. Datei repräsentiert dabei eine Variable vom Typ String in der (wie der Name schon sagt) der spätere Dateiname enthalten ist (also der Dateiname unter dem die Liste gespeichert werden soll)
|
Re: Listbox-Inhalt speichern
Delphi-Quellcode:
wenn ichs so schreibe und ich starte dann das programm und drücke auf den button, dann erscheint ne fehlermeldung mit dieser nachricht
procedure TForm3.Button4Click(Sender: TObject);
var Datei:string; begin Listbox1.Items.SaveToFile(Datei); end; Zitat:
|
Re: Listbox-Inhalt speichern
Weise Datei einen Dateinamen zu.
|
Re: Listbox-Inhalt speichern
und wie geht das
|
Re: Listbox-Inhalt speichern
Delphi-Quellcode:
procedure TForm3.Button4Click(Sender: TObject);
var Datei:string; begin Datei := 'C:\Rüsselmops.txt'; Listbox1.Items.SaveToFile(Datei); end; |
Re: Listbox-Inhalt speichern
kann man eine zeile einbauen die bewirkt, dass der/die ordner erstellt werden wenn sie nicht existieren?
|
Re: Listbox-Inhalt speichern
Schau mal in die Hilfe unter ForceDirectories.
|
Re: Listbox-Inhalt speichern
@Darksnipper: Könntest du bitte für die neue Frage einen neuen Thread erstellen :)
|
Re: Listbox-Inhalt speichern
kann man zwei Listboxen in einer datei speichern?
|
Re: Listbox-Inhalt speichern
Neuen Thread bitte
|
Re: Listbox-Inhalt speichern
Zitat:
Hat ja noch immer was mit "Listbox-Inhalt speichern" zu tun. |
Re: Listbox-Inhalt speichern
Na gut, so gesehen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var sList: TStringList; begin sList := TStringList.Create; try sList.AddStrings(ListBox1.Items); sList.AddStrings(ListBox2.Items); sList.SaveToFile('C:\ein_Pfad\eine_Datei.eine_Endung'); finally sList.Free; end; end; |
Re: Listbox-Inhalt speichern
und wie ladet man die verschiedenen Listen dann wieder?
also getrennt in die zwei Listboxen |
Re: Listbox-Inhalt speichern
Dann überleg Dir eine eindeutige Trennzeile, füge diese zwischen den beiden AddStrings-Befehlen ein und beim Einlesen weißt Du, dass nach der Trennlinie die 2. ListBox dran ist.
|
Re: Listbox-Inhalt speichern
Delphi-Quellcode:
so müsste das mit der trennlinie ja dan aussehen
procedure TForm1.Button1Click(Sender: TObject);
var sList: TStringList; begin sList := TStringList.Create; try sList.AddStrings(ListBox1.Items); sList.AddStrings('---'); sList.AddStrings(ListBox2.Items); sList.SaveToFile('C:\ein_Pfad\eine_Datei.eine_Endung'); finally sList.Free; end; end; aber wie geht das jetzt mit dem getrennten laden? :gruebel: |
Re: Listbox-Inhalt speichern
Delphi-Quellcode:
const Trenner = '========';
//Speichern procedure TForm1.Button1Click(Sender: TObject); var sList: TStringlist; begin sList := TStringlist.Create; try sList.AddStrings(ListBox1.Items); sList.Add(Trenner); sList.AddStrings(ListBox2.Items); sList.SaveToFile('C:\Listboxen.txt'); finally sList.Free; end; end; //Einlesen procedure TForm1.Button2Click(Sender: TObject); var iPos,i: integer; sList: TStringList; begin ListBox1.Clear; ListBox2.Clear; ListBox1.Items.BeginUpdate; ListBox2.Items.BeginUpdate; sList := TStringlist.Create; try sList.LoadFromFile('C:\Listboxen.txt'); //Index der Trennzeile ermitteln iPos := sList.IndexOf(Trenner); if iPos > -1 then begin //vom Listenende bis zum Vorgänger des Trenners for i := Pred(sList.Count) downto Succ(iPos) do begin //Zeile an erster Stelle einfügen ListBox2.Items.Insert(0,sList[i]); //und aus Liste löschen sList.Delete(i); end; //nun noch Trennzeile löschen sList.Delete(iPos); end; //der Rest gehört in die erste ListBox ListBox1.Items.Assign(sList); finally sList.Free; end; ListBox1.Items.EndUpdate; ListBox2.Items.EndUpdate; end; |
Re: Listbox-Inhalt speichern
danke :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz