AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Library: Dateien / Laufwerke Delphi Leere Verzeichnisse auflisten
Thema durchsuchen
Ansicht
Themen-Optionen

Leere Verzeichnisse auflisten

Ein Thema von Matze · begonnen am 12. Jan 2005
Antwort Antwort
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

Leere Verzeichnisse auflisten

  Alt 12. Jan 2005, 17:20
Mit folgender Funktion von SirThornberry, die er hier veröffentlicht hat, kann man alle leeren Verzeichnisse eines Laufwerks auflisten:

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 Laufwerk C aufzulisten:

Delphi-Quellcode:
var LList: TStringList;
begin
  LList := TStringList.Create;
  GetFileEmptyDirs('c:', LList);
  Memo1.Lines.Assign(LList);
  LList.Free;
end;
Weitere Suchbegriffe: Ordner Verzeichnis ermitteln
  Mit Zitat antworten Zitat
Antwort Antwort

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 09:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz