AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi GetSubDirs + AddDirSeparator: HiddenDirs Problem!
Thema durchsuchen
Ansicht
Themen-Optionen

GetSubDirs + AddDirSeparator: HiddenDirs Problem!

Ein Thema von Go2EITS · begonnen am 14. Sep 2006 · letzter Beitrag vom 14. Sep 2006
Antwort Antwort
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
Go2EITS

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

Re: GetSubDirs + AddDirSeparator: HiddenDirs Problem!

  Alt 14. Sep 2006, 09:26
Wer (in der DP) suchet der findet:

Die Zeile if FindFirst(sSearchPath + '*', faDirectory, srSearch) = 0 then muss geändert werden in:
if FindFirst(sSearchPath + '*', faDirectory or faHidden, srSearch) = 0 then Es scheint zu funktionieren, zumindestens bei mir klappt es. Falls noch Änderungen notwendig sind,
bitte hier posten. Danke.

Beste Grüße
Go2EITS
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: GetSubDirs + AddDirSeparator: HiddenDirs Problem!

  Alt 14. Sep 2006, 09:28
Delphi-Referenz durchsuchenIncludeTrailingPathDelimiter
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz