![]() |
Listbox
Hi!
Weiß jemand wie man alle listboxeinträge ab einen bestimmten Item in eine Text-datei speichern und dann wieder in gleicher reinfolge landen kann? |
Re: Listbox
Hi,
das einfachste wäre es wohl, die Einträge ab dem bestimmen Item in eine StringList zu schreiben und diese dann abzuspeichern, bzw. die Text-Datei hinterher wieder in eine StringList zu laden und anzuhängen. |
Re: Listbox
So:
Delphi-Quellcode:
Beim lesen der Datei statt rewrite reset verwenden und statt writeln readln und so...
var datei:textfile;
assignfile(datei,'c:\datei.txt'); rewrite(datei); for i:=5 to listbox.items.count do //5 steht hier symbolisch für das item, ab dem du items in eine Textdatei speichern willst begin writeln(datei,listbox.items[i].text); end; closefile(datei); |
Re: Listbox
Also eigentlich müsste es dann so gehen:
Delphi-Quellcode:
tuts aber nicht:
procedure Tmedia.Button7Click(Sender: TObject);
var datei:textfile; i: integer; begin assignfile(datei,'c:\datei.txt'); rewrite(datei); for i:=5 to listbox1.items.count do begin writeln(datei,listbox1.items[i].text); end; closefile(datei); end; writeln(datei,listbox1.items[i].text); [Error] midiunit.pas(525): Record, object or class type required |
Re: Listbox
sry, habe zwei kleine fehler eingebaut. In der for-Anweisung musst du einmal -1 unterbringen und außerdem muss es nicht items.. heißen. Ach hier ist der Quelltext, wie es funzt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var datei:textfile; i: integer; begin assignfile(datei,'c:\datei.txt'); rewrite(datei); for i:=5 to listbox1.items.count-1 do begin writeln(datei,listbox1.Items.Strings[i]); end; closefile(datei); end; |
Re: Listbox
Klasse, danke.
willst du so nett sein und mir auch noch den Code geben um die items zu adden? |
Re: Listbox
Delphi-Quellcode:
Sollte so funzen. Ich hab's allerdings nicht getestet...
procedure AddItems;
var datei:textfile; temp:string; begin assignfile(datei,'c:\datei.txt'); //datei öffnen reset(datei); //mit nur Lesezugriff öffnen while not eof(datei) do //eof=end of file begin readln(datei,temp); //aktuelle Zeile auslesen Listbox1.Items.Add(temp); //" " hinzufügen end; closefile(datei); //datei schließen end; Schreib mal, ob's tut... EDIT: Quelltext kommentiert EDIT2: Source gemäß Beitrag von Benedikt korrigiert |
Re: Listbox
Zitat:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Datei: Textfile; Temp: String; begin AssignFile(Datei,'c:\datei.txt'); Reset(Datei); while (not Eof(Datei)) do begin Readln(Datei, Temp); ListBox1.Items.Add(Temp); end; Closefile(Datei); end; |
Re: Listbox
@Benedikt: Hast recht. Habe meinen Beitrag korrigiert...
|
Re: Listbox
Danke an alle!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 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-2025 by Thomas Breitkreuz