AGB  ·  Datenschutz  ·  Impressum  







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

Ordner prüfen ob er leer ist

Ein Thema von SaFu · begonnen am 17. Mär 2008 · letzter Beitrag vom 9. Mai 2008
 
bluesbear

Registriert seit: 14. Dez 2005
Ort: Hahnstätten
355 Beiträge
 
Delphi 2007 Enterprise
 
#26

Re: Ordner prüfen ob er leer ist

  Alt 17. Mär 2008, 11:10
Jetzt kam ich ins grübeln, wie ich das eigentlich mache. Ganz tief unten in der Code-Kiste fand ich die Kanone, mit der ich auf den Spatz schieße:
Delphi-Quellcode:
procedure GetListOfFiles(FileList: TStrings; Source, FileMask: string;
    Attributes, IgnoreAttributes: Integer; Recurse: Boolean);
var SearchDir: string;
    SearchRec: TSearchRec;
    Res : Integer;
    DirList : TStringList;
    i : Integer;
begin
  DirList := TStringList.Create;
  try
    SearchDir := AddBackSlashL(Source);
    Res := SysUtils.FindFirst(SearchDir + FileMask, Attributes, SearchRec);
    while (Res = 0) and (SearchRec.Name > '') do begin
      if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') and
         ((Attributes = faAnyFile) or ((SearchRec.Attr and Attributes) <> 0)) and
         ((IgnoreAttributes = 0) or ((SearchRec.Attr and IgnoreAttributes) = 0)) then begin
        FileList.Add(SearchDir + SearchRec.Name);
      end;
      Res := FindNext(SearchRec);
    end;
    if Recurse and ((Attributes and faDirectory) = 0) then begin // Unterordner durchsuchen
      GetListOfFiles(DirList, Source, '*.*', faDirectory, 0, True);
      for i:=0 to Pred(DirList.Count) do begin
        GetListOfFiles(FileList, DirList[i], FileMask, Attributes, 0, True);
      end;
    end;
  finally
    SysUtils.FindClose(SearchRec);
    DirList.Free;
  end;
end;

function IsDirEmpty(const Dir: string): Boolean;
var SL : TStringList;
begin
  SL := TStringList.Create;
  try
    GetListOfFiles(SL, Dir, '*.*', faAnyFile - faDirectory, 0, False);
    Result := SL.Count = 0;
  finally
    SL.Free;
  end;
end;
Nu, der Spatz ist garantiert tot!
Klaus M. Hoffmann
  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:02 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-2025 by Thomas Breitkreuz