![]() |
Mit Rekursiver-S. auch in versteckten Ordnern Dateien finden
Hi,
ich will ne suchfunktion machen, die auf der festplatte rekursiv auch in versteckten ordnern nach dateien sucht. habe aber kein plan wie ich das machen soll. habe mir den quelltext für eine suche aus easyhelper geholt.
Code:
Ich muss doch die Attribute an den ------> <------ stellen verändern, damit er auch in versteckten ordnern sucht, oder? hab schon soviel ausporb und nix klappt. hoffentlich könnt ihr mir helfen.
procedure GetFilesInDirectory(Directory: String; const Mask: String;
List: TStrings; WithSubDirs, ClearList: Boolean); procedure ScanDir(const Directory: String); var SR: TSearchRec; begin if FindFirst(Directory + Mask, ------> faAnyFile - faDirectory <------ , SR) = 0 then try repeat List.Add(Directory + SR.Name) until FindNext(SR) <> 0; finally FindClose(SR); end; if WithSubDirs then begin if FindFirst(Directory + '*.*', ------> faAnyFile <------ , SR) = 0 then try repeat if (SR.Attr = faDirectory) and (SR.Name <> '.') and (SR.Name <> '..') then ScanDir(Directory + SR.Name + '\'); until FindNext(SR) <> 0; finally FindClose(SR); end; end; end; begin List.BeginUpdate; try if ClearList then List.Clear; if Directory = '' then Exit; if Directory[Length(Directory)] <> '\' then Directory := Directory + '\'; ScanDir(Directory); finally List.EndUpdate; end; end; __________________________________________________ _________________________ PS: keine angst, ------> <------ hab ich nicht in meinem Prog stehen, hab sie nurma für hier eingefügt |
Re: Mit Rekursiver-S. auch in versteckten Ordnern Dateien fi
Moin St.Pauli,
der Fehler liegt hier:
Delphi-Quellcode:
die Abfrage muss heissen:
if (SR.Attr = faDirectory) and
Delphi-Quellcode:
oder
if ((SR.Attr and faDirectory) = faDirectory) and
Delphi-Quellcode:
Ausserdem solltest Du statt
if ((SR.Attr and faDirectory) <> 0) and
Delphi-Quellcode:
besser
faAnyFile - faDirectory
Delphi-Quellcode:
schreiben.
faAnyFile and not faDirectory
In diesem Falle spielt das zwar keine Rolle, aber Bitfelder wie sollte man nur mit logischen Operationen verknüpfen, damit man es nicht falsch macht, wenn es eine Rolle spielt. |
Re: Mit Rekursiver-S. auch in versteckten Ordnern Dateien fi
OK, T H X!!!
Werd ich gleich mal ausprobieren! :-D :dp: |
Re: Mit Rekursiver-S. auch in versteckten Ordnern Dateien fi
Vielleicht hilft dir hier neben faDirectory auch faHidden.
MfG Binärbaum |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 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