Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Dateien im Ordner...


Mitmischer 1703 - Sa 28.02.09 10:38
Titel: Dateien im Ordner...
Wie erhalte ich die Anzahl von Dateien in einem beliebigen Ordner? Mit einer Findfirst/next Konstruktion und inc(i) oder gibt es dafür eine Routine?


Delete - Sa 28.02.09 10:41

Mir ist dafür keine fertige Routine bekannt.


martin300 - Sa 28.02.09 11:23

siehe

http://www.delphi-treff.de/tipps/dateienverzeichnisse/wiki/Rekursiv%20nach%20Dateien%20suchen/


jaenicke - Sa 28.02.09 11:25

In der MFT (bei NTFS) wird eine solche Anzahl ja auch gar nicht geführt. Es gibt lediglich einen Index mit einer Liste der Dateien und deren ID in jedem Verzeichnis. Theoretisch würde es also reichen diese Liste ohne weitere Informationen auszulesen. Ich wüsste aber keine API-Funktion dafür, es ist also nicht ganz so einfach und lohnt deshalb für deine Zwecke wohl kaum, denn das würde ja nur ein paar Sekundenbruchteile sparen, wenn es klappen würde...


Mitmischer 1703 - Sa 28.02.09 12:35

Stimmt :)...

Ich habe vor Dateien Datei für Datei zulöschenund währenddessen eine ProgressBar laufen zu lassen. Mathe:

(Schon gelöschte Dateien):(Insgesamte Dateien)= Fortschritt :)


Delete - Sa 28.02.09 12:40

Wieso nicht per SHFileOperation, dann übernimmt Windows das für Dich?


Mitmischer 1703 - Sa 28.02.09 14:44

Uff, hab in der DF nix dazu gefunden. Kannst du mir mal ne Hilfestellung geben?


jaenicke - Sa 28.02.09 14:49

Ich poste mal einfach mal nochmal den Link aus meinem letzten Post in deinem anderen Thread:
http://www.delphi-treff.de/tipps/dateienverzeichnisse/
Gleich das erste unter Dateioperationen zum Beispiel, oder weiter unten das bereits im anderen Thread genannte "Dateien und Verzeichnisse löschen".


Delete - Sa 28.02.09 14:53

Oder bei Microsoft [http://msdn.microsoft.com/en-us/library/bb762164(VS.85).aspx] nachschauen. Hier sind besonders die Flags in SHFILEOPSTRUCT interessant.