AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox

Ein Thema von NikoMitDaMacht · begonnen am 26. Mai 2004 · letzter Beitrag vom 26. Mai 2004
Antwort Antwort
Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#1

Listbox

  Alt 26. Mai 2004, 14:07
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?
Niko
Alles was ein Ende hat, hat auch ein Anfang
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#2

Re: Listbox

  Alt 26. Mai 2004, 14:15
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.
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#3

Re: Listbox

  Alt 26. Mai 2004, 14:25
So:
Delphi-Quellcode:
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);
Beim lesen der Datei statt rewrite reset verwenden und statt writeln readln und so...
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: Listbox

  Alt 26. Mai 2004, 14:52
Also eigentlich müsste es dann so gehen:

Delphi-Quellcode:
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;
tuts aber nicht:

writeln(datei,listbox1.items[i].text); [Error] midiunit.pas(525): Record, object or class type required
Niko
Alles was ein Ende hat, hat auch ein Anfang
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#5

Re: Listbox

  Alt 26. Mai 2004, 15:03
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;
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Listbox

  Alt 26. Mai 2004, 15:07
Klasse, danke.
willst du so nett sein und mir auch noch den Code geben um die items zu adden?
Niko
Alles was ein Ende hat, hat auch ein Anfang
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#7

Re: Listbox

  Alt 26. Mai 2004, 15:15
Delphi-Quellcode:
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;
Sollte so funzen. Ich hab's allerdings nicht getestet...
Schreib mal, ob's tut...

EDIT: Quelltext kommentiert
EDIT2: Source gemäß Beitrag von Benedikt korrigiert
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#8

Re: Listbox

  Alt 26. Mai 2004, 15:25
Zitat von yankee:
Schreib mal, ob's tut...
Das sollte ja eigentlich net gehen, weil ReadLn keine Funktion ist

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;
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#9

Re: Listbox

  Alt 26. Mai 2004, 15:30
@Benedikt: Hast recht. Habe meinen Beitrag korrigiert...
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: Listbox

  Alt 26. Mai 2004, 17:35
Danke an alle!
Niko
Alles was ein Ende hat, hat auch ein Anfang
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz