hallo, mit folgender Funkion möchte ich alle Dateien in einem Ordner löschen, die selbst keine Ordner sind.
Code:
SearchPattern := IncludeTrailingPathDelimiter(aPath) + '*.*';
if FindFirst(SearchPattern, faAnyFile, Rec) = 0 then begin
try
repeat
if Rec.Attr and faDirectory = 0 then begin
delete(aPath+Rec.Name);
end;
until (FindNext(Rec) <> 0);
finally
SysUtils.FindClose(Rec);
end;
end;
Jetzt werden nicht alle Daten gelöscht und bleiben welche über, ich denke es ist deshalb, weil ich die Datei lösche bevor ich auf next springe. Ich habe es so versucht zu lösen, dass ich mir den Dateinamen merke und dann erst beim nächsten Durchlauf sie lösche. Aber so bleibt dann immer eine Datei am Ende übrig. Wie löse ich am besten, dass auch die letzte Datei gelöscht wird?