Muck22 - Di 07.03.06 19:43
Titel: Delimiter
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm1.Button4Click(Sender: TObject); var Zeile:String; var i:Integer; begin s:=TStringList.Create; s.LoadFromFile('C:\daten.txt'); For i:=0 to s.Count -1 do begin Zeile:=s.Strings[i]; s.Delimiter:=',';
s.DelimitedText:=Zeile; showmessage(s[0]); end; s.Free; end; |
Die Datei daten.txt sieht so aus!
Hans,Mustermann,bla,bla,bla
Peter,Müller,bla,bla,bla
Ich war der Meinung, daß die MSBox erst Hans und danach Peter auswirft.
Tatsächlich spuckt sie aber Hans und danach Mustermann aus.
Die Variable i erweitere ich doch um s.Count ?????
Wo liegt denn da mein Denkfehler??? :-(
Moderiert von
Christian S.: Delphi-Tags hinzugefügt
Christian S. - Di 07.03.06 20:07
Der Fehler liegt darin, dass Du durch das Setzen des DelimitedText den aus der Datei geladenen Inhalt der Stringliste überschreibst. Wenn die Stringlist vorher so aussah:
Quelltext
1: 2:
| Hans,Mustermann,bla,bla,bla Peter,Müller,bla,bla,bla |
sieht sie dann so aus:
Quelltext
1: 2: 3: 4: 5:
| Hans Mustermann bla bla bla |
Und damit ist beim nächsten Schleifendurchlauf "Mustermann" in der Messagebox.