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


Martok - Sa 20.11.10 18:46

Hi,

du suchst Suche in der Delphi-Reference FINDFIRST / Suche in der Delphi-Reference FINDNEXT.

Grüße,
Martok


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