Listar Listar diretórios do servidor FTP no Delphi
Bom, minha dúvida é a seguinte, como listar todos os diretórios e arquivos contidos no servidor FTP, usando o Delphi 2010 apresentando o resultado como na imagem abaixo:
[img:descricao=Árvore de diretórios]http://arquivo.devmedia.com.br/forum/imagem/352121-20140108-131215.png[/img]
Aproveitando a deixa, como faço para criar diretórios no FTP verificando se já existe um diretório com o mesmo nome? Bom, se alguém puder ajudar esse iniciante aqui, serei eternamente grato! Abraço a todos!
[img:descricao=Árvore de diretórios]http://arquivo.devmedia.com.br/forum/imagem/352121-20140108-131215.png[/img]
Aproveitando a deixa, como faço para criar diretórios no FTP verificando se já existe um diretório com o mesmo nome? Bom, se alguém puder ajudar esse iniciante aqui, serei eternamente grato! Abraço a todos!
Ivan Alves
Curtidas 0
Melhor post
Maicon Wagner
08/01/2014
Neste Exemplo amigo utilizei um TreeView e um botao para executar os comandos abaixo e o COmponente TIdFTP:
procedure TForm1.BitBtn1Click(Sender: TObject); var I: Integer; PastaExistente: Boolean; begin //Setando os dados do Servidor FTP... FTP.Host := 'ENDERECO DO HOST FTP'; FTP.Username:= 'USERNAME FTP'; FTP.Password:= 'PASSWORD FTP'; Try //Apaga os Dados que tem em TreeView TreeView1.Items.Clear; //Realiza a Conexao com FTP... FTP.Connect; //Verifica se foi conectado com sucesso if FTP.Connected then begin //Lista o arquivos e pastas do home do FTP FTP.List; //LOOP para jogar o nome dos arquivos e pastas no TREEVIEW... for I := 0 to FTP.DirectoryListing.Count-1 do begin TreeView1.Items.Add(nil,FTP.DirectoryListing.Items[i].FileName); end; //LOOP para verificar se a pasta existe... try for I := 0 to FTP.DirectoryListing.Count-1 do begin PastaExistente:= False; //Verifica se a pasta Existe... if FTP.DirectoryListing.Items[i].FileName = 'MINHA PASTA' then begin ShowMessage('File exists'); PastaExistente:= True; Exit; end end; finally //Caso a pasta nao existir ela eh criada if not PastaExistente then FTP.MakeDir('MINHA PASTA'); end; end; Finally FTP.DisconnectNotifyPeer; End; end;
GOSTEI 1
Mais Respostas
Ivan Alves
08/01/2014
MAICON WAGNER DOS SANTOS, meu muito obrigado velho, ajudou bastante, agora vou procurar uma maneira de por os ícones, valeu pela ajuda! Abraços
GOSTEI 0
Fabio Pereira
08/01/2014
Eu segui o exemplo acima, porém quando executa o comando FTP.List; apresenta time-out.
Já tentei aumentando o ListenTimeout e ReadTimeout para 120000 e mesmo assim não obtenho sucesso.
Alguém poderia me ajudar?
Já tentei aumentando o ListenTimeout e ReadTimeout para 120000 e mesmo assim não obtenho sucesso.
Alguém poderia me ajudar?
GOSTEI 0