Autor Beitrag
Der Michel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 38



BeitragVerfasst: Mi 29.01.03 16:03 
Hallo,

gibt es eigentlich eine schnellere Möglichkeit die Anzahl der Dateien bzw. die Anzahl der Unterordner in einem Ordner zu zählen als über FindFirst(...) / FindNext(...)? Eine API-Funktion oder so etwas?
Wenn ich in Windows mit der rechten Maustaste auf einen Ordner und dann auf "Eigenschaften" klicke zählt Windows die Dateien ja auch recht schnell.

Gruß,

Michel
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 29.01.03 16:14 
Was ist an FindFirst / FindNext langsam?
Der Michel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 38



BeitragVerfasst: Mi 29.01.03 16:32 
Für kleiner Datenmengen reicht FindFirst()/FindNext() völlig aus, aber angenommen man hat einen Ordner in dem sich insgesamt 15.000 Dateien in 30 Unterordnern befinden.
Ich hab es zwar noch nicht getestet, aber ich bin mir ziemlich sicher daß diese von Windows schneller gezählt werden als von der FindFirst()/FindNext() Methode.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 29.01.03 16:38 
Windows kocht auch nur mit Wasser, soll heißen, das Windows auch nur die API's benutzt. Allerdings nicht die VCL-Kapselung. Die von Microsoft werden die Routine bis ins letzte optimiert haben.

Desweiteren indiziert Windows die Dateien und Laufwerke, so dass die Informationen nicht jedes mal neu zusammengesucht werden müssen.
Der Michel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 38



BeitragVerfasst: Mi 29.01.03 16:53 
Bei Gelegenheit teste ich mal ob es schneller ist anstatt FindFirst() / FindNext() gleich FindFirstFile() / FindNextFile() aufzurufen (auf die FindFirst() / FindNext() ebenfalls zurückgreift).
Und es gibt keine Chance die Indizierung auszulesen?