Autor Beitrag
mcbrunox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 92



BeitragVerfasst: Di 03.09.02 12:46 
Kann mir anhand des codes jemand erklären wie ich ALLE Verzeichnisse eines Laufwerkes einlesen kann ?

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
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; 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
  GetDirs('C:\', listbox1.Items); 
end;
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Di 03.09.02 14:12 
Dieses Funktion sucht ja alle Verzeichnisse innerhalb eines Verzeichnisses und fügt es der StringList ts zu. Danach müsstest Du den Code so erweitern das die Methode GetDirs sich selbst wieder aufruft (rekursion).

Schau mal in diesen Beiträgen. Da wird das gleiche Prinzip verwendet:
Wie kann ich nach Dateien suchen?
Wie kann ich rekursiv nach Dateien in Unterverzeichnissen suchen?

Gruß
TINO