Ich teste das gleich mal durch. Auf den ersten Blick kann man nur Pfade in die Listen hinzufügen.
Was muss ich abändern, damit man auch Dateien einfügen kann?
Die Listen können Datei-Pfade enthalten.
Wenn ich das Root E:\ habe und in E der Ordner Dateien ist, dort drin eine Datei Test.txt, diese möchte ich gerne ein- oder ausschließen können, den Rest der Dateien in diesem Ordner aber nicht.
Zeitgleich natürlich auch ganze Verzeichnisse so wie es jetzt schon ist.
Ist das hier ok?
Delphi-Quellcode:
function IsDirectory(const aFileName: string): Boolean;
var
R: DWORD;
begin
R := GetFileAttributes(PChar(aFileName));
Result := (R <> DWORD(-1)) and ((R and FILE_ATTRIBUTE_DIRECTORY) <> 0);
end;
for path in LstInclude do
begin
if IsDirectory(TPath.Combine(Root, path)) then
Target.AddStrings(TDirectory.GetFiles(TPath.Combine(Root, path), '*.*', TSearchOption.soAllDirectories))
else
Target.Add(TPath.Combine(Root, path));
end;