Einzelnen Beitrag anzeigen

DieDolly

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

Schnelle Methode, um eine Dateiliste zu erstellen

  Alt 23. Feb 2021, 12:59
Vielleicht erst ein kleiner Hintergrund.
Ich habe früher mal anhand zweiter StringListen, die gefüllt sein können aber nicht müssen, eine weitere Liste erstellen lassen (eine Dateiliste).
Die eine StringListe enthielt (kann, muss nicht) Pfade, die unbedingt vom Such-Algorithmus (bei mir damals FindFirst, FindNext) in der neuen Dateiliste aufgenommen werden sollen. Die zweite StringListe enthielt Pfade, die in keinem Fall in der Dateiliste aufgenommen werden sollen.

Beispiele:
- war die erste StringListe gefüllt, wurden auch nur diese Pfade in der neuen Dateiliste aufgenommen.
- war die zweite gefüllt, wurden alle außer die in der Liste in die Dateiliste aufgenommen.

Basierend auf einem Verzeichnis "E:\": diese StringListen können beispielsweise enthalten
- Dateien
- Arbeit
- Freizeit\Fotos

Im o.g. Beispiel würden nur die Verzeichnisse "Dateien", "Arbeit" und "Freizeit\Fotos" in die neue Dateiliste übernommen (erste Liste)
ODER
alle außer genau die oben genannten (zweite Liste).


Meine vorgehensweise damals war in etwa so:
- FindFirst/FindNext-Procedure (in sich selbst aufrufend, wegen der Unterverzeichnisse)
-- jede Datei, jedes Verzeichnis das gefunden wird durch eine Funktion laufen lassen, die eine Schleife durchläuft und die StringListe prüft.
Und irgendwie habe ich beide Listen in das ganze Ding reingepackt mit if's und else's und viel zu kompliziert.


Wie realisiert man sowas mit D10.3.3 am besten? Ich habe leider keinen Code mehr davon. Ich weiß nur noch, dass das mit StringListen-Abgleich mindestens um den Faktor 10 langsamer war als ohne.

Geändert von DieDolly (23. Feb 2021 um 13:09 Uhr)
  Mit Zitat antworten Zitat