Q&A

  • delphi 3.0에서 FTP전송받는 방법 아시는분?
delphi 3.0에서 FTP전송받는 방법 아시는분 없나요?

delphi 5.0에서 하는 방법은 여기에도 있는듯 한데요

3.0과 5.0 과 사용방법이 틀린것 같아요

정확히 모르시더라도

아시는 대로 답변 해주시면 감솨하겠습니다.



1  COMMENTS
  • Profile
    델파이3000 2001.08.08 18:22
    ics를 이용해 보시져...

    ics에 보면 TFtpCli 란 컴포넌트가 있습니다.



    ExecuteCmd(FtpClient1.Receive, FtpClient1.ReceiveAsync);

    이명령셋은 ics 내부적으로 connect를 그리고 cwd(Change Directory)

    Get(파일 다운로드), Quit(종료) 이 단계를 수행하지여

    FtpClient1.LocalFileName 위치에 해당 파일이 만들어지구여~~~

    DownLoadFile 내부에서는 단지 Boolean 변수만 True 시켜놓았어요

    시작할때 그 변수를 FALSE 시켜 놓았다가 다운로드가 완료되면

    켜놓는 형태지여



    그래도 도움이 되지 않는다면 델파이 5.0용이자만 소스 올리지여

    별반 다를게 없을것 같네여 ics 버전도 델파이 3.0버전이 있는것 같네여...









    type

    TSyncCmd = function : Boolean of object;

    TAsyncCmd = procedure of object;



    ...(중략)



    procedure TfrmFileState.ExecuteCmd(SyncCmd : TSyncCmd; ASyncCmd : TAsyncCmd);

    begin

    { Initialize progress stuff }

    FLastProgress := 0;

    FProgressCount := 0;

    //===================>

    // 통기화 비동기화란 의미인가?

    //===================>

    ASyncCmd;

    end;



    // 해당 명령이 처리중일때 이 이벤트가 탑니다.

    // 파일의 전송상태를 확인하실수 있겠찌여

    procedure TfrmFileState.FtpClient1Progress(Sender: TObject; Count: Integer;

    var Abort: Boolean);

    begin

    FProgressCount := Count;

    { Be sure to update screen only once every second }

    if FLastProgress < GetTickCount then begin

    FLastProgress := GetTickCount + 1000;

    sbar.Panels[2].Text := IntToStr(FProgressCount);

    gState.Progress := FProgressCount;

    Application.ProcessMessages;

    end;

    end;



    // 해당 명령이 처리가 완료됐을때 이 이벤트가 탑니다.

    procedure TfrmFileState.FtpClient1RequestDone(Sender: TObject;

    RqType: TFtpRequest; Error: Word);

    begin

    { Display last progress value }

    gState.Progress := FProgressCount;

    sbar.Panels[2].Text := IntToStr(FProgressCount);

    Application.ProcessMessages;

    if Error = 0 then begin

    case RqType of

    ftpReceiveAsync : DownLoadFile(gFileName);

    end;

    end;

    end;





    중략...

    ///

    FtpClient1.HostFileName := sHostFName;

    FtpClient1.UserName := defUserName;

    FtpClient1.PassWord := defpassword;

    FtpClient1.Port := defportnumm;

    FtpClient1.LocalFileName := '경로와파일명';



    ExecuteCmd(FtpClient1.Receive, FtpClient1.ReceiveAsync);

    ///







    한현정 wrote:

    > delphi 3.0에서 FTP전송받는 방법 아시는분 없나요?

    > delphi 5.0에서 하는 방법은 여기에도 있는듯 한데요

    > 3.0과 5.0 과 사용방법이 틀린것 같아요

    > 정확히 모르시더라도

    > 아시는 대로 답변 해주시면 감솨하겠습니다.

    >