2017-01-03 13 views
-1

私はdelphiを初めて使用するため、ftpアドレスのリストを含むテキストファイルを通過するFTPクライアントプログラムを作成し、ftpサイトからサブフォルダをダウンロードする必要があります。 私は正常にサーバーに接続しましたが、ダウンロードの部分で立ち往生しました。誰かがList()を呼び出した後、ダウンロード手順にDelphi IdFTPを使用したFTPファイルのダウンロード

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

を挿入するコードで私を助けてくださいすることができ、あなたはDirectoryListingプロパティのエントリをループする必要があります。これは、どのアイテムがファイルであり、どのアイテムがサブフォルダであるかを示します。その後、Get()個のファイルと(再帰的に)ChangeDir()/List()個のサブフォルダを作成できます。

関連する問題