Autor Beitrag
Mordilion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 96

WinXP Prof., Win2k Prof.
Delphi 7 Prof., Delphi 2009 Prof., PHP4/5, CSS, HTML
BeitragVerfasst: Mi 17.05.06 16:21 
Hallo,

ich hoffe mir kann einer helfen, denn ich suche mich noch tot.

Es geht darum, das ich gerne die Größe eines Verzeichnis ermitteln möchte und das OHNE FindFirst. Gibt es dafür vielleciht eine API oder ähnliches?

Manche wollen bestimmt nun wissen wieso ich das nicht mit FindFirst machen möchte, nunja es ist halt so wenn ich einen Ordner habe der einen Inhalt von 40GB so braucht die Methode mit FindFirst sehr lange und ich möchte das irgendwie schneller haben, denn wenn ich mir die Eigenschaften von einem Ordner im Explorer anschaue, geht das schneller als die Methode mit FindFirst!


Gruß
Mordi

_________________
Für das große Chaos haben wir Computer. Die übrigen Fehler machen wir von Hand.
Der Mensch ist das wichtigste und kostbarste Peripheriegerät einer Computeranlage.
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: Mi 17.05.06 20:38 
(a) glaube ich nicht, dass es über Eigenschaften des Ordners schneller ist, maximal der Geschwindigkeitsvorteil, das das (oder Teiles des) Verzeichnis bereits im Cache liegen
(b) rufe mal die Methode mit FindFirst 2x hintereinander auf und messe die Zeit, die nimmt beim zweiten Mal erheblich ab
(c) ich kenne keine Fkt, die dies tut :cry:

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
Mordilion Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 96

WinXP Prof., Win2k Prof.
Delphi 7 Prof., Delphi 2009 Prof., PHP4/5, CSS, HTML
BeitragVerfasst: Mi 17.05.06 20:58 
Ja ok, aber kann man die methode mit FindFirst beschleunigen, so das es wenigstens nicht ganz so lange dauert?

Was ich mir vorstellen könnte wäre das mit mehreren Threads zu machen, aber dann ziehe ich wohl die ganze auslastung auf mein Programm oder?

_________________
Für das große Chaos haben wir Computer. Die übrigen Fehler machen wir von Hand.
Der Mensch ist das wichtigste und kostbarste Peripheriegerät einer Computeranlage.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 17.05.06 21:05 
user profile iconHeiko hat da mal was gemacht, und entwickelt da grade weiter dran rum. *klick*. Dort ist auch ein Link zu user profile iconLuckies DriveTools, was wohl die Basis für SearchTools war.

_________________
We are, we were and will not be.
Mordilion Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 96

WinXP Prof., Win2k Prof.
Delphi 7 Prof., Delphi 2009 Prof., PHP4/5, CSS, HTML
BeitragVerfasst: Mi 17.05.06 21:21 
Cool, danke!

hatte das zwar FAST genau so wie dort, das einzige was ich nicht hatte war das ZeroMemory(@lpFindFileData, SizeOf(lpFindFileData)); am anfang der Funktion zu machen. Dadurch wurde die methode sehr stark beschleunigt!

_________________
Für das große Chaos haben wir Computer. Die übrigen Fehler machen wir von Hand.
Der Mensch ist das wichtigste und kostbarste Peripheriegerät einer Computeranlage.
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Do 18.05.06 08:09 
Ah interessant, hatte vor kurzem mir die selben Gedanken gemacht und ahnte schon, dass man nicht um FindFirst nicht rum kommt, was man ja bei der Ermittlung der Ordnergröße im Explorer sehen kann.