Zitat:
Deshalb würde ich dieses in der Liste der zu durchsuchenden Verzeichnisse übergeben.
Verstehe diesen Satz nicht. Das zu durchsuchende Verzeichnis darf nicht in einer der beiden Listen vorkommen.
Die beiden Listen dürfen nur Unterverzeichnisse dieses Verzeichnisses beinhalten.
Nach deiner Beschreibung gibt es zwei Anwendungsfälle:
1: Eine List von Verzeichnissen soll durchsuncht werden, einschliesslich Unterverzeichnisse.
Delphi-Quellcode:
procedure Fall1(ASuchList: TStrings; const AFileMask: string; AFileList: TStrings);
var
EmptyList: TStringList;
begin
EmptyList := TStringList.Create;
try
FindFiles(ADirList, AFileMask, EmptyList, AFileList);
finally
EmptyList.Free;
end;
end;
2: Ein Verzeichnis soll durchsucht werden, einschliesslich Unterverzeichniss. Bestimmte Unterverzeichnisse sollen komplett ausgeschlossen werden.
Delphi-Quellcode:
procedure Fall2(const ASuchDir: string; const AFileMask: string; AExcludeDirList: TStrings; AFileList: TStrings);
var
DirList: TStringList;
begin
DirList := TStringList.Create;
try
DirList.Add(ASuchDir);
FindFiles(DirList, AFileMask, EmptyList, AFileList);
finally
DirList.Free;
end;
end;