Moin!
Zunächstmal: Du gehst etwas sehr umständlich an das Problem ran, da du für jeden Datensatz eine Datei erstellst. Es wäre sehr viel einfacher, wenn du alle Datensätze in eine Datei speichern würdest. Mach dich mal über INI-Dateien schlau, das sollte dir helfen.
Jetzt zu deinem Programm und den Problemen:
1. Du hast einen krassen Fehler drin: du verwendest FindFirst() ohne anschließend ein FindClose() zu machen!

So gehts richtig:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.FormCreate(Sender: TObject); begin if FindFirst('*.txt', faAnyFile, searchResult) = 0 then repeat listbox1.items.add(searchResult.Name); until FindNext(searchResult) <> 0; FindClose(searchResult); end; |
2. Du solltest deinen Code einrücken, damit kann man wesentlich besser den Überblick behalten!
3. Du speicherst die Daten in den Dateien in einer Zeile mit Komma. Besser wäre es, wenn du die beiden Werte in je einer eigenen Zeile speichern würdest:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| filename := name.Text +'.txt'; AssignFile(data,filename); ReWrite(data); WriteLn(data,name.text); WriteLn(data,alter.text); CloseFile(data); |
Dann kannst du so die Daten wieder auslesen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| filename := name.Text +'.txt'; AssignFile(data,filename); ReSet(data); ReadLn(data,name.text); ReadLn(data,alter.text); CloseFile(data); |
cu
Narses