2017-01-03 8 views
-1

Я новичок в delphi, мне нужно написать ftp-клиентскую программу, которая будет проходить через текстовый файл со списком ftp-адресов и загружать подпапки с ftp-сайта. Я успешно подключился к серверу, но застрял в части загрузки. может кто-то пожалуйста, помогите мне с кодами для вставки в процедуреЗагрузка файла FTP с использованием Delphi IdFTP

procedure TCleint.btnConnectClick(Sender: TObject); 
begin 
    try 
     if not IdFTP.Connected then 
     begin 
      IdFTP.Host := 'ftp server'; 
      IdFTP.Username := 'anonymous'; 
      IdFTP.Password := 'emailaddress'; 
      IdFTP.Port := 21; 
      IdFTP.Connect; 

      IdFTP.List(listaDirectory.Items, '', false); 

      btnConnect.Enabled := False; 
      btnDisconnect.Enabled := True; 
      btnDownload.Enabled := True; 

     end; 
    except 
     on E:Exception do 
     begin 
      MessageDlg('connection error!', mtError, [mbOK], 0); 
      btnConnect.Enabled := true; 
      btnDisconnect.Enabled := false; 
      btnDownload.Enabled := false; 
     end; 
    end; 
end; 

procedure TCleint.btnDisconnectClick(Sender: TObject); 
begin 
    try 
     if IdFTP.Connected then 
     begin 
      IdFTP.Disconnect; 

      listaDirectory.Clear; 
      btnConnect.Enabled := True; 
      btnDisconnect.Enabled := False; 
      btnDownload.Enabled := False; 
     end; 
    except 
     on E:Exception do 
     begin 
      MessageDlg('connection error!', mtError, [mbOK], 0); 
      btnConnect.Enabled := false; 
      btnDisconnect.Enabled := true; 
      btnDownload.Enabled := true; 
     end; 
    end; 
end; 

procedure TCleint.btnDownloadClick(Sender: TObject); 
begin 

end; 

end. 
+0

В чем ваш вопрос? –

ответ

0

загрузки После вызова List(), необходимо перебрать записи в DirectoryListing собственности. Это скажет вам, какие элементы являются файлами и которые являются подпапками. Вы можете затем Get() файлы и (рекурсивно) ChangeDir()/List() подпапки.