Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Alle Verezeichnisse auflisten (mit unterverzeichnisse) (https://www.delphipraxis.net/30058-alle-verezeichnisse-auflisten-mit-unterverzeichnisse.html)

vollmer-net 19. Sep 2004 10:43


Alle Verezeichnisse auflisten (mit unterverzeichnisse)
 
Hi,,


mit diesem Code kann ich mir alle Verzeichnnisse auflisten:

Delphi-Quellcode:
procedure GetDirs(RootDir: string; dirlist: TStrings);
var
  search: TSearchRec;
  ts: TStringList;
begin
  ts := TStringList.Create;
  try
    if FindFirst(RootDir + '*.*', faDirectory, search) = 0 then
    begin
      repeat
        if ((search.Attr and faDirectory) = faDirectory) and
            (search.Name <> '.') and (search.Name <> '..') then
          ts.Add(search.Name);
      until FindNext(search) <> 0;
      FindClose(search);
    end;
    ts.sort;
    dirlist.Text := ts.Text;
  finally
    ts.Free;
  end;
end;
Leider gibt er mir keiner Unterverzeichnisse der Verzeichnisse aus, weil ich keine rekursion eingebaut habe....Wie genau müsste die Funktion aussehen?

Gruß

Alex

SirThornberry 19. Sep 2004 10:45

Re: Alle Verezeichnisse auflisten (mit unterverzeichnisse)
 
an dieser Stelle muss die Recursion rein
Delphi-Quellcode:
        if ((search.Attr and faDirectory) = faDirectory) and
            (search.Name <> '.') and (search.Name <> '..') then
          ts.Add(search.Name);
und zwar in etwa so
Delphi-Quellcode:
        if ((search.Attr and faDirectory) = faDirectory) and
            (search.Name <> '.') and (search.Name <> '..') then
        begin
          ts.Add(RootDir + '\' + search.Name); //rootDir vorangestellt damit du auch weist in welchem Ordner der gefundene Ordner ist
          GetDirs(RootDir + '\' search.Name; dirlist);
        end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 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