Autor Beitrag
DennisH
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 20.11.10 12:27 
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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Sa 20.11.10 18:46 
Hi,

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

Grüße,
Martok

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
DennisH Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: 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