Einzelnen Beitrag anzeigen

DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#28

AW: Schnelle Methode, um eine Dateiliste zu erstellen

  Alt 24. Feb 2021, 15:25
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.

Geändert von DieDolly (24. Feb 2021 um 18:08 Uhr)
  Mit Zitat antworten Zitat