Q&A

  • 진행상황 표시에 대한 질문입니다.
안녕하세요

echo_patch_local_file := echo_patch_info.ReadString('PATCH_'+IntToStr(i), 'LOCAL_FILE', '');

요렇게 읽어서 ProgressBar1로 진행 상태를 표시할려고 합니다.

그런데 이걸 Write를 하는게 아니고 MNFTP컴포넌트를 사용해서

echo_ftp.Download(echo_patch_server_file, echo_patch_local_file);

요렇게 Download를 해야합니다. 진행 상황을 표시하기 위해서는 어떻게 해야

하나요.

제가 알기로는 echo_ftp.Download(echo_patch_server_file, echo_patch_local_file);

이부분이 반복문을 돌렸다면 반복으로 Download가 되는게 아니고 모두 다운로드

될때 까지 저부분에서 멈춰있는것 같던데여

간단한 예문이문 더욱더 감사하겠습니다.





1  COMMENTS
  • Profile
    백근훈 2000.09.29 23:37
    꼴통 wrote:

    > 안녕하세요

    > echo_patch_local_file := echo_patch_info.ReadString('PATCH_'+IntToStr(i), 'LOCAL_FILE', '');

    > 요렇게 읽어서 ProgressBar1로 진행 상태를 표시할려고 합니다.

    > 그런데 이걸 Write를 하는게 아니고 MNFTP컴포넌트를 사용해서

    > echo_ftp.Download(echo_patch_server_file, echo_patch_local_file);

    > 요렇게 Download를 해야합니다. 진행 상황을 표시하기 위해서는 어떻게 해야

    > 하나요.



    반복문을 사용하는게 아니라, 역시 이벤트를 사용해야 합니다.



    NMFTP에서 Packet(Data) 를 받고 있을 때 다음 이벤트가 발생합니다.

    NMFTP1PacketRecvd



    이 이벤트내에서 ByteRecvd , ByteTotal Property 를 사용하시면 됩니다.



    다음은 예제입니다.



    procedure TForm1.NMFTP1PacketRecvd(Sender: TObject);

    begin

    ProgressBar1.Position :=

    NMFTP1.BytesRecvd * 100 div NMFTP1.BytesTotal;

    end;





    > 제가 알기로는 echo_ftp.Download(echo_patch_server_file, echo_patch_local_file);

    > 이부분이 반복문을 돌렸다면 반복으로 Download가 되는게 아니고 모두 다운로드

    > 될때 까지 저부분에서 멈춰있는것 같던데여

    > 간단한 예문이문 더욱더 감사하겠습니다.

    >

    >