Ich verwende diese von mir geschriebene Procedure zum Löschen aller Dateien und Unterordner:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| procedure DeleteDirContent(Dir: String); var F: TSearchRec; begin if Dir[Length(Dir)] = '\' then Dir := copy(Dir,1,Length(Dir)-1); if DirectoryExists(Dir) then begin if FindFirst(Dir+'\*.*',faDirectory,F) = 0 then begin try repeat if (F.Name <> '.') and (F.Name <> '..') then begin if (F.Attr and faDirectory) = faDirectory then begin DeleteDirContent(Dir+'\'+F.Name); RemoveDir(Dir+'\'+F.Name); end else DeleteFile(PChar(Dir+'\'+F.Name)); end; until FindNext(F) <> 0; finally FindClose(F); end; end; end; end; |
Beim komplimieren kommt jedoch ein Fehler: Inkompatible Typen: 'Cardinal' und 'TSearchRec'. Ich vermute, er will die API-Funktion statt der gleichnamigen Delphi-Funktion verwenden. Wie treibe ich ihm das aus (die Unit Windows kann ich nicht entfernen)?