zoukankan      html  css  js  c++  java
  • Delphi从Internet下载文件

    Delphi从Internet下载文件

     
    今天在做拍卖系统的时候,因考虑到网络状况问题,需要将拍品所有信息下载到本机,包括拍品图片,因此需要实现从Internet下载文件的功能。
          下面是代码片段:
     
      private
          function DownloadFile(SourceFile, DestFile: string): Boolean;
          procedure URL_OnDownloadProgress(Sender: TDownLoadURL;
                Progress, ProgressMax: Cardinal;
                StatusCode: TURLDownloadStatus;
                StatusText: String; var Cancel: Boolean) ;
          { Private declarations }
     
     .
     
     function TFrameChannel.DownloadFile(SourceFile, DestFile: string): Boolean;
     var
       hasError: boolean;
     begin
       hasError:=false;
       with TDownloadURL.Create(self) do
       try
         URL:=SourceFile;
         FileName := DestFile;
         OnDownloadProgress := URL_OnDownloadProgress;
         ExecuteTarget(nil) ;
       except on e: Exception do begin
         FormMain.SetStatusInfo(e.Message);
         Free;
         hasError:=true;
         end;
       end;
       Result := not hasError;
     end;
     
     procedure TFrameChannel.URL_OnDownloadProgress;
     begin
        Application.ProcessMessages;
     end;
     
     调用时:
         ofname:='http://www.aaa.com/a.jpg';
         nfname:='images.jpg';
         if not DownloadFile(ofname, nfname) then 
           showMessage('Error')
         end
           showMessage('OK');

          注:以上程序在大文件下载过程不会死锁,而且你可以在URL_OnDownloadProgress函数中用参数来处理自已的进度条以显示下载进度。因为我的程序不需要,所以没有写出来。

  • 相关阅读:
    正确显示textarea中输入的回车和空格
    HmacSHA256算法(C# 和 Java)
    Java RSA分段加密
    穿越古代我能做啥?
    DOS常用命令
    C#泛型学习
    一步一步搭建Nuget私服
    深入理解HTTP协议
    PowerDesigner设置code和name不联动的方法
    log4net通过代码控制按分类输出
  • 原文地址:https://www.cnblogs.com/china1/p/3395100.html
Copyright © 2011-2022 走看看