function TPrincipal.RastreaDir( Dir: string ):TStringList;
var
FileSearch: TSearchRec;
begin
Screen.Cursor := crHourGlass;
Result := TStringList.Create;
Result.Clear;
ChDir ( Dir );
if FindFirst ( '*.*', faDirectory, FileSearch )=0 then
repeat
if ( (FileSearch.Attr and fadirectory) = fadirectory) then
begin
if (FileSearch.Name <> '.')and (FileSearch.Name <> '..') then
RastreaDir( Dir + '\' + FileSearch.Name );
end
else
begin
Result.Add( FileSearch.Name );
end;
until FindNext( FileSearch ) <> 0;
FindClose( FileSearch );
Screen.Cursor := crDefault;
end;