Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
Delphi XE Professional
|
Re: Schnelle Dateisuche
7. Jan 2008, 14:46
Hi!
Du hast in deiner Suchfunktion 2 Suchen, d.h. du rufst 2 mal FindFirst mit allem, was dazugehört, auf.
Ich hatte ein ähnliches Problem: Innerhalb einer FindFirst Suche habe ich GetSizeOfFile (oder so ähnlich) von der JCL benutzt - Diese Funktion hat auch ein FindFirst gemacht, was den Ablauf der Suche insgesamt verlangsamte. Klar, das war sowieso überflüssig, wegen TSearchRec.Size. Nach der Änderung ging alles schneller.
Versuch doch mal, in der Funktion GetAllFiles nur eine Schleife mit FindFirst einzubauen. Da holst du dir dann einfach alles was gefunden wird, Unterordner schickst du direkt wieder an GetAllFiles oder merkst sie dir in einer Liste und gehst sie am Ende alle durch. Wenn ich mich recht erinnere, hat das Einlesen einer gesamten Partition vorher 120 Sekunden gedauert, nach der Änderung lag es bei 80 Sekunden.
HTH.
|