Quick Tip : Listar subdiretorios de um Diretório

Veja nesta Quick como listar os subdiretorios de um diretório



Olá galera, nesta Quick Tips, irei mostrar como listar os subdiretorios encontrados em um diretório.

 

Nossa rotina precisa de dois parâmetros para funcionar, o caminho do diretório que desejamos verificar os arquivos e uma lista de Strings, um Memo por exemplo ou um ListBox.

 

procedure TFrmPrincipal.ListarSubDiretorio(const sDirInicial: string; slt: TStrings

var

xsrSearch: TSearchRec;

xSearchPath: string;

sltSub: TStrings;

i: Integer;

begin

sltSub := TStringList.Create;

slt.BeginUpdate;

try

xSearchPath := sDirInicial;

if FindFirst(xSearchPath + '*', faDirectory, xsrSearch) = 0 then

repeat

if ((xsrSearch.Attr and faDirectory) = faDirectory) and (xsrSearch.Name <> '.') and (xsrSearch.Name <> '..') then

begin

  slt.Add(xSearchPath + xsrSearch.Name);

  sltSub.Add(xSearchPath + xsrSearch.Name);

end;

until (FindNext(xsrSearch) <> 0);

FindClose(xsrSearch);

for i := 0 to sltSub.Count - 1 do

  ListarSubDiretorio(sltSub.Strings[i], slt);

finally

  slt.EndUpdate;

  FreeAndNil(sltSub);

end;

end;

 

No onClick de um BitBtn

 

procedure TFrmPrincipal.BtnListarDiretorioClick(Sender: TObject);

begin

Memo1.Lines.Clear;

ListarSubDiretorio(EdtPasta.Text, Memo1.Lines)

end;

 


Fico por aqui ate à próxima Quick Tips.

 

Um abraço

 

Wesley Y

wyamazack@rwsolution.com.br



Artigos relacionados