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!
Ivan Alves

Ivan Alves

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

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?
Responder

Gostei + 0

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

Aceitar