Habe das so gelernt und es ist für mich übersichtlicher wenn ich für jeden Verarbeitungsschritt meine feste Regel zum Öffnen und Schließen habe. Meinst du ich soll die Datei nicht neu öffnen und schließen?
Schau Dir bitte den Ablauf in den beiden Proceduren an.
Zuerst öffnest Du die Datei (assignfile+reset) dann gehst Du in einer schleife durch die Datei.
Findest Du einen zu löschenden record springst Du aus der Schleife heraus und öffnest die Datei, die immer noch offen ist erneut (assignfile+reset), das kann nicht gut gehen.
Versuch doch zumindestens folgendes:
Delphi-Quellcode:
if key=Woerterbuch[i].Englisch then begin
...
closefile(woert); {------- Datei schließen!!!!!! }
löschen(h);
exit;
end
Das ist zwar nicht schön, sollte aber wenigstens fehlerfrei sein.
Gruß
K-H