(Co-Admin)
Registriert seit: 29. Mai 2002
Ort: Hamburg
11.119 Beiträge
Delphi 11 Alexandria
|
Re: Ordnerinhalt
30. Dez 2007, 22:00
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;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
|
|
Zitat
|