Einzelnen Beitrag anzeigen

Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Leere Verzeichnisse rekursiv löschen

  Alt 7. Mai 2009, 16:34
Delphi-Quellcode:
      if ((SearchRec.Attr and faDirectory) = faDirectory) and (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then
        DeleteEmptyDirectories(IncludeTrailingPathDelimiter(Path) + SearchRec.Name)
      else
        IsEmpty := False;
IsEmpty ist immer False, weil jedes Verzeichnis einen Eintrag . und .. enthält. Prinzipiell müsste Deine Funktion so abgeändert werden:

Delphi-Quellcode:
      if ((SearchRec.Attr and faDirectory) = faDirectory) and (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then
        DeleteEmptyDirectories(IncludeTrailingPathDelimiter(Path) + SearchRec.Name)
      else
        if (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then IsEmpty := False;
Prinzipiell ist der Versuch zu Tracken ob eine Datei enthalten ist oder nicht aber völlig sinnbefreit. Wenn eine Datei im Verzeichnis ist, schlägt ein RemoveDir ohnehin fehl .
Fridolin Walther
  Mit Zitat antworten Zitat