Ist TDirectory.GetFiles und TPath das moderne FindFirst FindNext?
Ich habe um alle aufrufe Target.AddStrings noch ein TDirectory.Exists(path) gesetzt, damit es nicht zu Fehlern kommt wenn es da was nicht gibt (Garbage in, Garbage out: falsche Parameter die man übergibt oder so).
Meine testfälle scheinen alle zu funktionieren, was LstInclude angeht. LstExlude muss ich noch testen aber ich denke, das funktioniert alles.
Ok einen Fall hab ich das funktioniert nicht. Man kann keine Dateien mehr in die Listen schreiben.
Deswegen habe ich etwas umgeändert
Delphi-Quellcode:
// statt
Target.AddStrings(TDirectory.GetFiles(path, mask, SearchOption));
// jetzt
if IsDirectory(path) then
begin
if TDirectory.Exists(path) then
Target.AddStrings(TDirectory.GetFiles(path, mask, SearchOption));
end
else
Target.Add(path);
Aber irgendwas stimmt auch nicht. Deswegen habe ich noch weiter rumprobiert ohne zu wissen was ich wirklich mache. Aber jetzt scheint es zu funktionieren mit beiden Listen.
EINE Sache funktioniert aber noch immer nicht.
LstInclude.Add('*.txt');
ListFiles('P:\Audacity Portable', LstInclude, LstExclude, sl, True);
Hier denke ich, dass nur Txt-Dateien i, Root von ListFiles eingeschlossen werden sollen. Es werden aber alle in allen Unterverzeichnissen übernommen.
Ich probiere noch weiter rum irgendwann werde ich eine Lösung haben.
Bis ich die habe, habe ich den Code hier unten erstmal wieder gelöscht.