Entwickler-Ecke
Dateizugriff - Ordner 123456_blablabla anhand der Zahl finden
DennisH - Sa 20.11.10 12:27
Titel: Ordner 123456_blablabla anhand der Zahl finden
Hallo,
ich verzweifle an der performanten und eleganten Lösung eines Problems.
Ich habe ein Verzeichnis auf einem Server indem sich mehrere tausend Archiv-Verzeichnisse befinden. Die Verzeichnisse haben alle das Format 6stellige-Nummer + '_' + Name. Nun versuche ich anhand der Nummer das Verzeichnis zu finden ... das klappt natürlich nicht da ich ja den kompletten Pfad-Namen kennen muss um das aufzurufen.
Meine jetzige Lösung ist langsam, anfällig und ineffizient. Ich hab ein Dienstprogramm das alle Ordner im Archiv einliest und dazu die 6stellige-Nummer aus dem Ordnernamen ausliest und in eine DB einträgt. Das wiederum frage ich dann ab. Das ist leider sehr zeitaufwändig, blockiert einen Rechner, dauert 5-10Minuten für eine komplette Aktualisierung, führt zu Chaos/Fehlern wenn das Dienstprogramm beendet wird/abschmiert!
Kennt Ihr eine elegante und schnelle Lösung für das Problem?
gibt es evtl. eine Funktion/Komponente die Pfade filtern kann? Also man übergibt die 123456_* und bekommt alles was damit anfängt?
freue mich über jede Hilfe und Anregung :-)
gruß/danke,
Dennis
DennisH - So 21.11.10 15:54
Danke,
da muss ich mich wohl schämen das ich diese wichtige Funktion die letzten 7 Delphi Jahre nicht gekannt hab (oder wieder vergessen). Ich hatte mich schon gewundert warum Delphi so eine wichtige Funktion nicht kennt :-)
Nach 5 Minuten Kampf mit den Eigenheiten der Funktion, schaffe ich es nun in 2 Sekunden Laufzeit die passenden 3 Funde aus den 5773 Ordnern auf dem Netzlaufwerk zu finden. Geilomat 3000 !!! Danke nochmals :-)
gruß, Dennis
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!