Hallo Dextra,
einmal abgesehen von der Unübersichtlichkeit Deines Sourcetextes, etwas formatieren hilft auch die Logik darzustellen, sieht die Fehlermeldung so aus als wäre das closefile(lst) vor einem writeln(lst,...) aufgerufen worden.
wenn Du
Delphi-Quellcode:
assignfile(lst, 'aaa.lst');
rewrite(lst);
an den Anfanfg der procedure stellst, dann sollte das
closefile(lst);
auch am Ende stehen.
Gruß
K-H