Moin DeluxXx,
ich würd's so machen:
Delphi-Quellcode:
function IsEmptyFolder(const AsFolder : string) : boolean;
var
sr : TSearchRec;
begin
Result := FindFirst(AsFolder+'\*.*',faAnyFile,sr) = 0;
if not Result then exit;
try
Result := false;
repeat
if (sr.Attr and faDirectory) = faDirectory then begin // Verzeichnis?
if (sr.Name <> '.') and (sr.Name <> '..') then exit; // "Echtes" Verzeichnis? => Nicht leer
end else begin
exit; // Datei => Nicht leer
end;
until FindNext(sr) <> 0;
Result := true;
finally
FindClose(sr);
end;
end;
Da mehrere aufeinander folgende Pfadtrenner (\) von Windows als einer angesehen werden, kann man sich die Verwendung von IncludeTrailingPathDelimiter sparen.
Ausserdem sollte man auch immer die Resourcenschutzblöcke (try/finally) verwenden.
Da . und .. Verzeichnisse sind brauchst Du in Deinem Falle auch nicht darauf zu testen, wenn es sich schon nicht um ein Verzeichnis handelt.