AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

leere Ordner Finden (mit Subdirs)

Ein Thema von Patrick · begonnen am 11. Jan 2005 · letzter Beitrag vom 28. Feb 2005
 
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: leere Ordner Finden (mit Subdirs)

  Alt 11. Jan 2005, 20:52
Mit folgender Funktion solltest du es hinnbekommen
Delphi-Quellcode:
procedure GetFileEmptyDirs(AStartDir: String; ADestList: TStrings);
  function LGetFileEmptyDirs(LDir: String; LDestList: TStrings): Boolean;
  var LSRec: TSearchRec;
      LHasFiles, LFilesInFolder: Boolean;
      LEmptyDirs: TStringlist;
  begin
    //erstmal schauen ob wir dateien haben (wenn ja müssen wir eventuell ordner hinzufügen)
    LHasFiles := False;
    if FindFirst(LDir + '\*', faAnyFile, LSRec) = 0 then
    begin
      repeat
         if not(faDirectory and LSRec.Attr <> 0) then
           LHasFiles := True;
      until (FindNext(LSRec) <> 0) or (LHasFiles);
    end;
    FindClose(LSRec);
    //jetzt alle unterordner durchgehen
    LEmptyDirs := TStringList.Create;
    if FindFirst(LDir + '\*', faAnyFile, LSRec) = 0 then
    begin
      repeat
         if (faDirectory and LSRec.Attr <> 0) and (LSRec.Name <> '.') and (LSRec.Name <> '..') then
         begin
           LFilesInFolder := LGetFileEmptyDirs(LDir + '\' + LSRec.Name, ADestList);
           if LFilesInFolder then
             LHasFiles := True
           else
             LEmptyDirs.Add(LDir + '\' + LSRec.Name);
         end;
      until (FindNext(LSRec) <> 0);
    end;
    FindClose(LSRec);
    if LHasFiles then
      ADestList.AddStrings(LEmptyDirs);
    LEmptyDirs.Free;
    //funktion verlassen und mitteilen ob wir dateien in Ordner haben
    result := LHasFiles;
  end;
begin
  ADestList.Clear;
  if LGetFileEmptyDirs(AStartDir, ADestList) = False then
    ADestList.Add(AStartDir);
end;
Beispielaufruf um alle Datei-Leeren verzeichnisse von C aufzulisten
Delphi-Quellcode:
var LList: TStringList;
begin
  LList := TStringList.Create;
  GetFileEmptyDirs('c:', LList);
  Memo1.Lines.Assign(LList);
  LList.Free;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz