Hola,
Pues... tiene que haber otra forma más elegante, más aún, estoy seguro de que la hay, pero, no la recuerdo exactamente. Pero, algo así parece funcionar:
Código Delphi
[-]
procedure Rastrear (Dir:string);
var
FileSearch: TSearchRec;
begin
Screen.Cursor := crHourGlass;
Dir := ExtractFilePath(Dir);
if FindFirst (Dir + '*', faDirectory, FileSearch ) = 0 then
repeat
begin
if (FileSearch.Attr = faDirectory) then begin
Form1.Memo1.Lines.Add (FileSearch.Name);
end;
end;
until FindNext( FileSearch ) <> 0;
FindClose( FileSearch );
Screen.Cursor := crDefault;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Rastrear ('C:\');
end;