Autor Beitrag
Muck22
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Di 07.03.06 19:43 
ausblenden 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 user profile iconChristian S.: Delphi-Tags hinzugefügt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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:
ausblenden Quelltext
1:
2:
Hans,Mustermann,bla,bla,bla
Peter,Müller,bla,bla,bla

sieht sie dann so aus:
ausblenden Quelltext
1:
2:
3:
4:
5:
Hans
Mustermann
bla
bla
bla

Und damit ist beim nächsten Schleifendurchlauf "Mustermann" in der Messagebox.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Muck22 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Mi 08.03.06 08:35 
Klick; da wars der Groschen ist gefallen! :-)
Dann muss ich mir was anderes überlegen!

Vielen Dank!