Fórum Listar diretórios internos #145197

13/03/2003

0

Olá precisava indicar um diretorio por exemplo c:\ e listar para dentro de um listbox todos os diretorios que estao dentro do c:\ indicato teria como obrigado...

[b:1c040ebb17][color=red:1c040ebb17]Título editado pelo Moderador (AZ) - Removido: ´Só Para os Melhores....!´[/color:1c040ebb17][/b:1c040ebb17]


Anonymous

Anonymous

Responder

Posts

13/03/2003

Marcelo Saviski

procedure TForm1.Button2Click(Sender: TObject);
var
    SR: TSearchRec;
    I: integer;
begin
listbox1.itens.clear;
   I := FindFirst(edit1.text´, faAnyFile, SR);
   while I = 0 do
       begin
       if (SR.Attr and faDirectory) <> faDirectory then
          begin
          listbox1.itens.add(edit1.text + SR.Name);
       end;
       I := FindNext(SR);
   end;
end; 


Isto mostra os arquivos dentro de un diretório, pode usar coringas Ex:
Edit1.text = ´C:/*.exe´ localiza todos os .EXE que estãona pasta C

[img:0a8216cbef]http://www.apriori.com.br/cgi/forum/images/smiles/icon_eek.gif[/img:0a8216cbef][img:0a8216cbef]http://www.apriori.com.br/cgi/forum/images/smiles/icon_cool.gif[/img:0a8216cbef][img:0a8216cbef]http://www.apriori.com.br/cgi/forum/images/smiles/icon_rolleyes.gif[/img:0a8216cbef]


Responder

Gostei + 0

13/03/2003

Anonymous

olá desculpa mas a resposta anterior so listou os arquivos preciso que liste todos os diretorios.. do diretorio indicado... obrigado...


Responder

Gostei + 0

13/03/2003

Fred

Porque voce nao usa os componentes da palheta ´samples´ la tem componentes para listagem de diretorios 8)


Responder

Gostei + 0

13/03/2003

Lfernandos

Basta vc combinar os DDL_* com o operador or para obter o q deseja.

ListBox1.Perform(LB_DIR ,
DDL_ARCHIVE or
DDL_DIRECTORY or
DDL_DRIVES or
DDL_EXCLUSIVE or
DDL_HIDDEN or
DDL_READONLYor
DDL_READWRITE or
DDL_SYSTEM,
LParam(PChar(´c:\*.*´)));


Responder

Gostei + 0

21/10/2003

Marconi

Desculpe voltar no assunto após 7 meses, mas estava pesquisando sobre como fazer um filescan nos meus diretórios e acabei encontrando estas mensagens.

Não entendi aonde eu coloco o codigo do LFernandoS para que funcione o programa. Deu na mesma.

MARCONI


Responder

Gostei + 0

21/09/2004

Fabioss

Este código resolve so o problema da lista de diretórios;

procedure TForm1.ListaDir(Sender: TObject);
var
  SR: TSearchRec;
  I: integer;
begin
   I := FindFirst( [caminnho] +´*.*´, faDirectory, SR);
   While I = 0 Do
     Begin
     If (SR.Name <> ´.´) and (SR.Name <> ´..´) Then
            Memo1.Lines.Add(SR.Name);
      I := FindNext(SR);
   End;
end;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar