Hallo,
der Fehler liegt woanders
da ist in meinem Source noch n kleiner Fehler drin:
bei case hat das end gefehlt. passiert halt,wenn man was direkt ins Forum klimpert. das End hast du zwar hinzugefügt, leider aber an der falschen Stelle
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| begin case mode of 0: Listbox1.items.add(sl.items[i]); 1: Listbox2.items.add(sl.items[i]); 2: Listbox3.items.add(sl.items[i]); end; //hat hier gefehlt :oops: end; end; sl.free; end; |
So wie du das end; hinzugefügt hast, steht das sl.free in der for Schleife. damit gibts du am Ende des ersten Durchlaufes die Stringliste wieder frei und dann scheitert natürlich der nächste Aufruf mit sl.strings[i] da nix mehr da ist und du siehst die exception. Deswegen steht auch nur ein Eintrag in der Listbox.
Dieser sollte natürlich nicht dort sein, da es ja die "Überschrift" sein soll
Quelltext
1: 2: 3:
| if sl.strings[i]='Namen:' then Mode:=0 else if sl.strings[i]='Nachnahmen:' then Mode:=1 else if sl.strings[i]='EMail Adresse:' then Mode:=2 |
diese 3 Strings müssen genauso sein, wie in der Datei. Wenn in der Datei nun aufeinmal "Name:" statt "Namen:" steht funzt das ganze nicht, da dann Mode nciht gesetzt wird. Du mußt auch die Groß/Kleinschreibnung beachten! Das ist halt das Problem dabei, deswegen ist der Textdateiaufbau von Smiegel auch besser geeignet.
Frank