Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MrZer0

[Resolvido] Listar Pastas

Recommended Posts

Bom galera, minha dúvida agora é como listar pastas de um determinado local, exemplo:eu tenho uma pasta c:\exemplo e dentro dela eu tenho mais algumas outras pastas, tipo:c:\exemplo\pasta1c:\exemplo\pasta2c:\exemplo\pasta3c:\exemplo\pasta4eu gostaria de listar essas pastas numa lista, sacaram??? p/ quando eu acrescentar uma pasta nova dentro de c:\exemplo, ele já incluisse automáticamente na listavaleus :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa! Consegui aqui ^^

Para quem tem interesse, segue a solução que encontrei:

procedure SubDiretorios(Diretorio: string; Lista: TStrings);var  SearchRec: TSearchRec;begin  if FindFirst(Diretorio + '*.*', faDirectory, SearchRec) = 0 then	repeat	  if (SearchRec.Attr and faDirectory = faDirectory) and		 (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then		 begin			Lista.Add(Diretorio + SearchRec.Name + '\');			SubDiretorios(Diretorio + SearchRec.Name + '\', Lista);		 end;	until FindNext(SearchRec) <> 0;  FindClose(SearchRec);end;

Os parâmetros são os seguintes:

 

* Diretorio: string contendo o caminho da pastal inicial. Pode ser a pasta raiz de alguma unidade, mas atente para o fato de que você deve incluir uma barra invertida ao final, ou nenhum resultado será retornado.

 

* Lista: uma lista de strings (pode ser, por exemplo, um TStringList, um TListBox.Items ou TComboBox.Items). Como você pode ver, os elementos não são apagados antes da inserção; isso fica a seu cargo.

 

* Retorno: a lista será preenchida com os diretórios encontrados. Todos os diretórios terão uma barra invertida no fim.

 

Obs.: o código não é meu, achei numa comunidade no Orkut (o autor eu não lembro, mas assim que eu achar, eu posto aqui), mas resolveu meu problema, espero que seja útil a mais alguém ^^

 

Valeu :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.