![]() |
Inhalt einer txt Datei mit TStringList richtig auslesen?
Hallo,
hab eine .txt-Datei mit folgendem Inhalt: Zitat:
Hab das so probiert, hier wird aber das Alter und das Bundesland nicht ausgegeben.
Delphi-Quellcode:
Wer sagt mir wie ich das anders und vor allem richtig mache?
procedure TForm1.FormCreate(Sender: TObject);
var i: Integer; begin List:=TStringList.Create; try List.LoadFromFile('C:\Datei.txt'); for i := 0 to List.Count-1 do ListBox1.Items.Add(List.Names[i]); ListBox1.ItemIndex:=0; Label1.Caption:=List.Values[ListBox1.Items[ListBox1.ItemIndex]]; Label2.Caption:=????? Label3.Caption:=????? finally List.Free; end; end; |
Re: Inhalt einer txt Datei mit TStringList richtig auslesen?
Da TStringList nur ein Name=Value-Paar kennt, mußt du selber trennen
Pos('=', ...) + Copy oder ![]() |
Re: Inhalt einer txt Datei mit TStringList richtig auslesen?
Hab das jetzt so gemacht, aber irgendwie funktionieren das nicht. :gruebel:
Die Fehlermeldung lautet: ')' erwartet, aber ';' gefunden. Was mache ich falsch? :gruebel:
Delphi-Quellcode:
Die txt sieht so aus:
procedure TForm1.FormCreate(Sender: TObject);
var i, Pos1, Pos2, Pos3, Pos4, Pos5: Integer; s, s2: String; begin List:=TStringList.Create; try List.LoadFromFile('C:\Datei.txt'); for i := 0 to List.Count-1 do {s:=List[i]; Pos1:=Pos('=', s); Pos2:=PosEx('=', s, Pos1+1); Pos3:=PosEx('=', s, Pos2+1); Pos4:=PosEx('=', s, Pos3+1); Pos5:=PosEx('=', s, Pos4+1); s2:=Copy(s, Pos1+1, Pos2-Pos1-1);} ListBox1.Items.Insert(i, Copy(List[i], Pos('=', List[i])+1, PosEx('=', List[i], Pos('=', List[i])+1) - Pos('=', List[i])-1); finally List.Free; end; end; Zitat:
|
Re: Inhalt einer txt Datei mit TStringList richtig auslesen?
Hab schon gefunden, pardo. Hab das jetzt wie folgt:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i: Integer; begin List:=TStringList.Create; try List.LoadFromFile('C:\Datei.txt'); for i := 0 to List.Count-1 do {s:=List[i]; Pos1:=Pos('=', s); Pos2:=PosEx('=', s, Pos1+1); Pos3:=PosEx('=', s, Pos2+1); Pos4:=PosEx('=', s, Pos3+1); Pos5:=PosEx('=', s, Pos4+1); s2:=Copy(s, Pos1+1, Pos2-Pos1-1); } ListBox1.Items.Insert(i, Copy(List[i], Pos('=', List[i])+1, PosEx('=', List[i], Pos('=', List[i])+1) - Pos('=', List[i])-1)); finally List.Free; end; end; |
Re: Inhalt einer txt Datei mit TStringList richtig auslesen?
Zitat:
Man könnte es auch mit einer 2. StringListe lösen
Delphi-Quellcode:
...
List2 := TStrimgList.Create; List2.Delimiter := '='; for i := 0 to List.Count-1 do begin List2.DelimitedText := List[i]; ... |
Re: Inhalt einer txt Datei mit TStringList richtig auslesen?
Wow... jetzt hast du mich ganz durcheinander gebracht :roteyes:
Und wie geht der Code weiter? |
Re: Inhalt einer txt Datei mit TStringList richtig auslesen?
Der Vorname steht dann in List2[1], der Nachname in List2[2] usw.
|
Re: Inhalt einer txt Datei mit TStringList richtig auslesen?
Ja... ich verstehe nicht wie ich die Daten in die ListBox bekomme? :gruebel:
|
Re: Inhalt einer txt Datei mit TStringList richtig auslesen?
Delphi-Quellcode:
ListBox1.Items.Insert(i, List2{1]);
|
Re: Inhalt einer txt Datei mit TStringList richtig auslesen?
Hab das jetzt so:
Delphi-Quellcode:
Bekomme aber zwei Fehlermeldungen:
procedure TForm1.FormCreate(Sender: TObject);
var i: Integer; begin List:=TStringList.Create; List2:=TStringList.Create; List2.Delimiter:='='; try List.LoadFromFile('C:\Datei.txt'); for i := 0 to List.Count-1 do List2.DelimitedText:=List[i]; ListBox1.Items.Insert(i, List2[1]); Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 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