![]() |
FindAllFiles (rekusive Dateisuche) aus CodeLib
Hallo,
ich verwende schon seit geraumer Zeit folgende Methode aus der CodeLib und habe nun das erste Mal Probleme damit.
Delphi-Quellcode:
Wenn ich nun abfragen möchte wieviele Dateien in einem Temp-Verzeichnis
procedure TMainForm.FindAllFiles(var FileList: TStrings; RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True);
var SR: TSearchRec; begin IncludeTrailingPathDelimiter(RootFolder); if Recurse then if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then try repeat if SR.Attr and faDirectory = faDirectory then if (SR.Name <> '.') and (SR.Name <> '..') then FindAllFiles(FileList, RootFolder + SR.Name, Mask, Recurse); until FindNext(SR) <> 0; finally FindClose(SR); end; if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then try repeat if SR.Attr and faDirectory <> faDirectory then begin FileList.Add(RootFolder + SR.Name); end; until FindNext(SR) <> 0; finally FindClose(SR); end; end; und seinen Unterverzeichnissen enthalten sind bekomme ich jedes Mal den Wert 0 zurück. Das obwohl in den Unterverzeichnissen definitiv Dateien enthalten sind. Hat Jemand vielleicht eine Idee woran das liegen könnte? Wenn ich direkt die Unterverzeichnisse angebe bekomm ich die richtige Werte zurückgegeben. Offensichtlich gibt es irgendwo ein Problem mit der rekusiven Suche. Ich verwende Delphi 7.
Delphi-Quellcode:
FindAllFiles(TempFiles, 'c:\Temp\', '*.*', True);
showmessage(inttostr(Tempfiles.Count)); |
Re: FindAllFiles (rekusive Dateisuche) aus CodeLib
Die Zeile IncludeTrailingPathDelimiter(RootFolder); richtig machen :)
IncludeTrailingPathDelimiter ist eine Funktion und gibt den neuen String zurück :) RootFolder:=IncludeTrailingPathDelimiter(RootFolde r); Dann sollte es auch mit den Nachbarn klappen :) |
Re: FindAllFiles (rekusive Dateisuche) aus CodeLib
oh ich danke dir,
jetzt funktioniert es wieder :))) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 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