Ok, um zu testen, ob ich es verstanden habe, habe ich die Suchfunktion abgewandelt um alle Dateinamen ohne die Unterordner in ein Memofeld zu schreibeiben.
Code:
function TForm1.DirContainsFiles(const Dirname: string): Boolean;
var
Rec: TSearchRec;
SearchPattern: string;
begin
Memo3.Text := '';
Result := false;
SearchPattern := IncludeTrailingPathDelimiter(Dirname) + '*.*';
if FindFirst(SearchPattern, faAnyFile, Rec) = 0 then
try
repeat
if Rec.Attr and faDirectory = 0 then begin
Result := true;
Memo3.Lines.Add(Rec.Name);
end;
until (FindNext(Rec) <> 0);
finally
SysUtils.FindClose(Rec);
end;
end;
Es funktioniert auch. Ich frage mich bloß, wieso man in diesem Fall nicht nach den '.' und '..' suchen muss.