![]() |
Ordnerinhalt
Hi,
ich versuche ein Tool zu programmieren, welches mir Ordner die eine bestimmte Größe Überschreiten anzuzeigen. Als erstes wollte ich erstmal probieren, alle Ordner und Unterordner und Datein, eines bestimmten Rootverzeichnisses anzuzeigen..... bei meiner Suche stieß ich auf folgende function ![]() Gruß Masteric |
Re: Ordnerinhalt
Moin Masteric,
ich habe mich jetzt nicht in das von Dir genannte Beispiel eingelesen, würde es aber so machen:
Delphi-Quellcode:
procedure FindAllFilesAndFolders(const AsRoot : string;const AslResult : TStrings);
// AsRoot: Verzeichnis, dass durchsucht werden soll // AslResult: Die Liste, die die Ergebnisse bekommt var sr : TSearchRec; sRoot : string; begin // Nichts gefunden, dann fertig if FindFirst(IncludeTrailingPathDelimiter(AsRoot)+'*.*',faAnyFile,sr) <> 0 then exit; try // Ansonsten das übergebene Startverzeichnis mit \ am Ende merken sRoot := IncludeTrailingPathDelimiter(AsRoot); repeat // Wurde ein Verzeichnis gefunden? if (sr.Attr and faDirectory) = faDirectory then begin // Nicht die Standardverzeichnisse . bzw. .. ? // Da . und .. nur Verzeichnisse sein können, wird erst als zweites darauf geprüft if (sr.Name <> '.') and (sr.Name <> '..') then begin // Dann mit in die Ergebnisliste aufnehmen AslResult.Add(sRoot+sr.Name); // und auch dieses durchsuchen FindAllFilesAndFolders(sRoot+sr.Name,AslResult); end; end else begin // Kein Verzeichnis, dann sollte es eine Datei sein. // und kann somit gleich in die Eregebnisliste AslResult.Add(sRoot+sr.Name); end; // bis nichts weiter gefunden wurde until FindNext(sr) <> 0; finally // Jetzt noch die belegten Resourcen freigeben FindClose(sr); end; end; |
Re: Ordnerinhalt
Großes Dankeschön an dich!! :thumb:
Nur ein kleiner Hinweis, das muss eine Procedure sein und keine Function, sonst geht das ganze nicht. Gruß Masteric |
Re: Ordnerinhalt
Moin Masteric,
Zitat:
Ich hatte das Ganze direkt hier reingeschrieben, ohne es zu testen :oops: |
Re: Ordnerinhalt
@Christian, das kann jedem guten Programmierer mal passieren :-D , bei so vielen Functionen und Proceduren :-D
Gruß Masteric |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz