Fórum Listar Listar diretórios do servidor FTP no Delphi #466257
08/01/2014
0
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
Curtir tópico
+ 0
Responder
Post mais votado
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;
Maicon Wagner
Responder
Gostei + 1
Mais Posts
09/01/2014
Ivan Alves
MAICON WAGNER DOS SANTOS, meu muito obrigado velho, ajudou bastante, agora vou procurar uma maneira de por os ícones, valeu pela ajuda! Abraços
Responder
Gostei + 0
15/10/2018
Fabio Pereira
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?
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)