![]() |
problem mit FindAllFiles (codelib)
Huhu Listers,
ich hab gerade die wirklich gute Prozedur in der CodeLib gefunden, mir ist auch der Aufbau und so klar, aber ich fühl mich im Moment 'n bißchen wie ein echter Newbee. 1. kennt mein Delphi 5 kein IncludeTrailingPathDelimiter, sondern bestenfalls ein IncludeTrailingBackslash, aber schlimmer ist 2. das es behauptet bei
Delphi-Quellcode:
seien Cardinal und TSearchRec inkompatible typen. Seh ich auch ein, ;-), aber laut hilfe gibt's FindClose zweimal, einmal mit Handle und einmeal mit SearchRec? Warum zum teufel weigert sich mein Compiler das zu fressen?
FindClose (sr);
SysUtils ist drin? Hiiiiiiilfe!!!! Viele herzliche Grüße Marco ... der ganze Code hängt hier drunter...
Delphi-Quellcode:
procedure FindAllFiles(
var FileList: TStrings; RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True); var SR: TSearchRec; begin RootFolder := IncludeTrailingBackslash(RootFolder); if Recurse then if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then try repeat if SR.Attr and faDirectory = faDirectory then // --> ein Verzeichnis wurde gefunden //* *der Verzeichnisname steht in SR.Name //* *der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist //* * * *RootFolder + SR.Name if (SR.Name <> '.') and (SR.Name <> '..') then FindAllFiles(FileList, RootFolder + SR.Name, Mask, Recurse); until FindNext(SR) <> 0; finally FindClose(SR); // hier knallt's dann! end; if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then try repeat if SR.Attr and faDirectory <> faDirectory then begin // --> eine Datei wurde gefunden //* *der Dateiname steht in SR.Name //* *der vollständige Dateiname (inkl. Pfadangabe) ist //* * * *RootFolder + SR.Name FileList.Add(RootFolder + SR.Name); end; until FindNext(SR) <> 0; finally FindClose(SR); // hier logischerweise auch. end; end; |
Re: problem mit FindAllFiles (codelib)
Hallo Marco,
du kannst die Reihenfolge der Units Windows und SysUtils in der Uses Klausel vertauschen oder deine Prozedur FindClose() mit dem Unit-Namen qualifizieren: SysUtils.FindClose(sr); Grüße vom marabu |
Re: problem mit FindAllFiles (codelib)
Hi Marabu,
Zitat:
Viele Grüße Marco |
Re: problem mit FindAllFiles (codelib)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 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