![]() |
GetSubDirs + AddDirSeparator: HiddenDirs Problem!
Hallo DP,
ich habe das Problem, dass auf versteckte Directories mit nachfolgendem Code nicht zugegriffen wird. Ich habe den Code um AddDirSeparator ergänzt, weil der originale Torrycode nicht geht, bzw. die Funktion AddDirSeparator nirgends gefunden habe. Hier der Original-Code:
Delphi-Quellcode:
Ich weiss nicht, ob ein faHidden genügen würde. Ich habe aber keine Ahnung, wie ich das einfügen sollte. Wisst Ihr weiter?
// ...list all Subdirectories of a Directory? Autor: Martin Schulz
procedure GetSubDirs(const sRootDir: string; slt: TStrings); var srSearch: TSearchRec; sSearchPath: string; sltSub: TStrings; i: Integer; begin sltSub := TStringList.Create; slt.BeginUpdate; try sSearchPath := AddDirSeparator(sRootDir); if FindFirst(sSearchPath + '*', faDirectory, srSearch) = 0 then repeat if ((srSearch.Attr and faDirectory) = faDirectory) and (srSearch.Name <> '.') and (srSearch.Name <> '..') then begin slt.Add(sSearchPath + srSearch.Name); sltSub.Add(sSearchPath + srSearch.Name); end; until (FindNext(srSearch) <> 0); FindClose(srSearch); for i := 0 to sltSub.Count - 1 do GetSubDirs(sltSub.Strings[i], slt); finally slt.EndUpdate; FreeAndNil(sltSub); end; //Meine Ergänzung, damit es funktioniert. Function AddDirSeparator(const Root:String):String; Var h:string; begin Result:=Root; h:=Root; // h, da Root als const nicht verändert werden kann if h[Length(h)]<>'\' then h:=h+'\'; Result:=h; end; end; Danke für die Mühe im voraus und beste Grüße Go2EITS |
Re: GetSubDirs + AddDirSeparator: HiddenDirs Problem!
Wer (in der DP) suchet der findet:
Die Zeile
Delphi-Quellcode:
muss geändert werden in:
if FindFirst(sSearchPath + '*', faDirectory, srSearch) = 0 then
Delphi-Quellcode:
Es scheint zu funktionieren, zumindestens bei mir klappt es. Falls noch Änderungen notwendig sind,
if FindFirst(sSearchPath + '*', faDirectory or faHidden, srSearch) = 0 then
bitte hier posten. Danke. Beste Grüße Go2EITS |
Re: GetSubDirs + AddDirSeparator: HiddenDirs Problem!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 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