Listar Listar diretórios do servidor FTP no Delphi

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

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

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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar