Listar diretórios internos
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]
[b:1c040ebb17][color=red:1c040ebb17]Título editado pelo Moderador (AZ) - Removido: ´Só Para os Melhores....!´[/color:1c040ebb17][/b:1c040ebb17]
Anonymous
Curtidas 0
Respostas
Marcelo Saviski
13/03/2003
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_cool.gif[/img:0a8216cbef][img:0a8216cbef]http://www.apriori.com.br/cgi/forum/images/smiles/icon_rolleyes.gif[/img:0a8216cbef]
GOSTEI 0
Anonymous
13/03/2003
olá desculpa mas a resposta anterior so listou os arquivos preciso que liste todos os diretorios.. do diretorio indicado... obrigado...
GOSTEI 0
Fred
13/03/2003
Porque voce nao usa os componentes da palheta ´samples´ la tem componentes para listagem de diretorios 8)
GOSTEI 0
Lfernandos
13/03/2003
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:\*.*´)));
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:\*.*´)));
GOSTEI 0
Marconi
13/03/2003
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
Não entendi aonde eu coloco o codigo do LFernandoS para que funcione o programa. Deu na mesma.
MARCONI
GOSTEI 0
Fabioss
13/03/2003
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;
GOSTEI 0