Einzelnen Beitrag anzeigen

Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#1

GetSubDirs + AddDirSeparator: HiddenDirs Problem!

  Alt 14. Sep 2006, 08:40
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:
// ...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;
Ich weiss nicht, ob ein faHidden genügen würde. Ich habe aber keine Ahnung, wie ich das einfügen sollte. Wisst Ihr weiter?
Danke für die Mühe im voraus und beste Grüße
Go2EITS
  Mit Zitat antworten Zitat