델파이 FTP 업로드 및 다운로드를 달성

단위 유니트 1;

상호 작용

사용
  윈도우, 메시지, SysUtils를, 변형, 클래스, 그래픽, 컨트롤, 양식,
  대화 상자, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdFTP;

입력 
  된 TForm1 = 클래스 (TForm의)
    IdFTP1 : TIdFTP;
    dlgOpen1 : TOpenDialog;
    인 btn1 TButton으로;
    mmo1 : 잇는 TMemo;
    btn2 TButton으로;
    btn3 TButton으로;
    EDT1 :은 TEdit;
    절차 btn1Click (발신자 : TObject의);
    절차 btn2Click (발신자 : TObject의);
    절차 btn3Click (발신자 : TObject의);
    절차 IdFTP1Status (ASender : TObject의; const를 AStatus : TIdStatus;
       const를 AStatusText : 문자열);
  개인 
    { 개인 선언 } 
  공개 
    { 공공 선언 } 
  ;

했다
  Form1에 : 된 TForm1;

이행

{ $ R *는 .DFM } 
사용   IdFTPList, IdFTPCommon는;

// 이 다운로드와 업로드 기능을 달성하기 위해 idftp 클라이언트 순수 업로드 및 다운로드가 무슨 일이 FTP 서버에 기록되지 않습니다

{
 이 프로그램은 FTP 데모 프로그램, 나는 기계에서 FTP 서비스까지 창 정보 서비스 집합을 사용한다
 기본 IP : 192.168.10.99
 아이디 : CC 내
 암호 : 1 QWERT
} 
절차 TForm1.btn1Click (발신자 : TObject의);
했다
  TR : TStrings를;
가 시작하기   //를 연결 
  TR :. = TStringList를 만들기 ;
   // IdFTP1.Host : = '192.168.10.99', FTP 서버의 // 주소 
  IdFTP1.Host = ' 127.0.0.1 ' ; // FTP 서버 주소 
  IdFTP1.Port = 2121 ; // 이 21의 기본,하지만 자신의 세트의 값이 아닌 포트 번호를 참고 
  IdFTP1.Username = ' ' ; // 는 FTP 서버 사용자 이름 
  IdFTP1.Password = ' QWERT ' ; // FTP 서버 암호 

  ; IdFTP1.Connect는 ()   // FTP에 연결된 

  edt1.Text : = IdFTP1.RetrieveCurrentDir; //초기 디렉토리 얻으려면 
  // IdFTP1.ChangeDir ( '클라이언트'); // 클라이언트 하위 디렉토리에 
  // IdFTP1.ChangeDir ( '..'); // 다시 상위 디렉토리에 
  IdFTP1.List (TR); // 클라이언트 디렉토리 아래에있는 모든 파일의 목록을 얻을 
  mmo1.Lines.Assign (TR)를;
  tr.Free;
;
 


절차 TForm1.btn2Click (발신자 : TObject의);
했다
  TT : TIdFTPListItems;
  T : TIdFTPListItem을;
  I : 정수;
  tfname : 문자열;
(가) 시작   // 다운로드 
  // Label1.Caption : = IdFTP1.DirectoryListing.Items [0] .FileName, 
  IdFTP1.TransferType = ftBinary; // 바이너리 또는 텍스트 파일 ftASCII에 지정된 
  위한 I : = 0   IdFTP1.DirectoryListing.Count - . 1  않습니다 
  선두 
    TT를 : = IdFTP1.DirectoryListing; // 목록 현재 디렉토리의 파일 및 디렉토리 얻을 
    T를 = tt.Items [I]; // 파일에 대한 정보를 얻을 
   // Label1.Caption : = t.text를 / 문서 컨텐트 아웃에서 / 
    tfname = ; t.FileName
    // ShowMessage (t.OwnerName + ','+ t.GroupName + ','+ t.FileName + ','+ t.LinkedItemName) 
    IFIdFTP1.DirectoryListing.Items [I] = ditFile .ItemType 그때  // 파일 인 경우 
    (가) 시작 
      IdFTP1.Get (tfname, ExtractFilePath (Application.ExeName) + tfname 참 참) // 다운로드 로컬 및 덮개, 및 HTTP에 대한 지원 
    종료 ,
   ,
 ;

절차 TForm1.btn3Click (발신자 : TObject의);
 var에 
  인터넷 : 문자열 ,
 (가) 시작   // 업로드 
  IF dlgOpen1.Execute을 당시 
  선두 
     인터넷 : = dlgOpen1.FileName;
     // IdFTP1.Put ( 'F : / 테스트 문서 샘플 .RAR', ' 테스트 문서 샘플) '.RAR; // 업로드, 
      IdFTP1.Put (FI, ExtractFileName (FI));
   ;
 ;



절차 TForm1.IdFTP1Status (ASender : TObject의; const를 AStatus : TIdStatus;
   const를 AStatusText : 문자열);
시작 
  { 의 AStatus 경우
    hsResolving : showmessage ( 'hsResolving을');
    hsConnecting : showmessage ( 'hsConnecting을');
    hsConnected : showmessage ( 'hsConnected');
    hsDisconnecting : showmessage ( 'hsDisconnecting을');
    hsDisconnected : showmessage ( 'hsDisconnected');
    hsStatusText : showmessage ( 'hsStatusText');  
    ftpTransfer : showmessage ( '파일 전송이 완료되었습니다.');
    ftpReady : showmessage ( '파일을 전송할 준비가 ....');
    ftpAborted : showmessage ( '배달 실패');
  종료;         }

  // showmessage (AStatusText); 
;
 


 .

추천

출처www.cnblogs.com/tobetterlife/p/12169488.html