Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Alle Dateien eines Verzeichnisses löschen ?!?

  Alt 23. Aug 2003, 15:24
Moin MarIno,

ausserdem könnte ein Resourcenschutzblock (try/finally) nicht schaden, um die Freigabe der belegten Resourcen sicherzustellen.
Bei Verwendung einer repeat/until Schleife wird das Ganze dann auch noch übersichtlicher.

Besonders wichtig:
Bei DeleteFile den genauen Pfad angeben (wie sakura ja schon geschrieben hat), da ansonsten wohl im aktuellen Arbeitsverzeichnis gelöscht wird, falls dort zufällig gleichnamige Dateien liegen sollten.

Delphi-Quellcode:
Function DeleteAll(Dir, Files : string): Integer;

var
  SearchRec : TSearchRec;

begin
  Result := 0;
  if FindFirst(Dir+Files, faAnyFile, SearchRec) = 0 then begin
    try
      repeat
        DeleteFile(Dir+SearchRec.Name);
        inc(Result);
      until FindNext(SearchRec) <> 0;
    finally
      FindClose(SearchRec);
    end;
  end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat