Delphi用TActionList实现下载文件的方法

Delphi中的TActionList有个标准动作TDownLoadURL,内部是使用的URLDownloadToFile,它下载文件时会定时产生OnDownloadProgress 事件,这样就可以用进度条显示。

本文讲述了Delphi用TActionList实现下载文件的方法,实现代码如下所示:

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtActns, ActnList, StdCtrls, ComCtrls;

type
 TForm1 = class(TForm)
  Button1: TButton;
  ActionList1: TActionList;
  ProgressBar1: TProgressBar;
  procedure Button1Click(Sender: TObject);
 private
  { Private declarations }
  procedure URL_OnDownloadProgress
       (Sender: TDownLoadURL;
       Progress, ProgressMax: Cardinal;
       StatusCode: TURLDownloadStatus;
       StatusText: String; var Cancel: Boolean) ;
 public
  { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure Tform1.URL_OnDownloadProgress;
begin
  ProgressBar1.Max:= ProgressMax;
  ProgressBar1.Position:= Progress;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  with TDownloadURL.Create(self) do
  try
   URL:='http://www.jb51.net/images/logo.gif';
   FileName := 'logo.gif';
   OnDownloadProgress := URL_OnDownloadProgress;
   ExecuteTarget(nil) ;
  finally
   Free;
  end;
  showMessage('OK');
  ProgressBar1.Max := 0;
end;
(0)

相关推荐

  • Delphi实现木马文件传输代码实例

    本文以实例形式讲述了Delphi下木马的文件传输方法的实现过程,具体步骤如下: 服务器端代码: unit ServerFrm; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, ExtCtrls,WinSock; type TfrmMain = class(TForm) Panel1: TPanel; Labe

  • Delphi建立、读取、存贮INI文件的方法《一》

    一.有必要了解INI文件的结构: ;注释 [小节名] 关键字=值 ... INI文件允许有多个小节,每个小节又允许有多个关键字, "="后面是该关键字的值. 值的类型有三种:字符串.整型数值和布尔值.其中字符串存贮在INI文件中时没有引号,布尔真值用1表示,布尔假值用0表示. 注释以分号";"开头. 二.定义 1.在Interface的Uses节增加IniFiles: 2.在Var变量定义部分增加一行: myinifile:Tinifile; 然后,就可以对变量my

  • delphi建立、读取、存贮INI文件的方法《三》

    从.INI文件中获取字符串 var strResult:pchar; begin GetPrivateProfileString( ´windows´, // []中标题的名字 ´NullPort´, // =号前的名字 ´NIL´, // 如果没有找到字符串时,返回的默认值 strResult, //存放取得字符 100, //取得字符的允许最大长度 ´c:\forwin95\win.ini´ // 调用的文件名 ); edit1.text:=strResult; //显示取得字符串 从.IN

  • delphi制作wav文件的方法

    本文实例讲述了delphi制作wav文件的方法.分享给大家供大家参考.具体如下: 这里delphi用waveIn...函数制作wav文件 具体代码如下: //使用窗口接受音频设备发出的消息: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button

  • delphi建立、读取、存贮INI文件的方法《二》

    从.INI文件中获取字符串varstrResult:pchar;beginGetPrivateProfileString(´windows´, // []中标题的名字´NullPort´, // =号前的名字´NIL´, // 如果没有找到字符串时,返回的默认值strResult, //存放取得字符100, //取得字符的允许最大长度´c:\forwin95\win.ini´ // 调用的文件名);edit1.text:=strResult; //显示取得字符串从.INI文件中获取整数edit1

  • Delphi中判断文件是否为文本文件的函数

    在自己编写文本文件读取函数的时候,你首先会遇到的第一个问题就是:对于给定的一个文件名,怎么知道它所代表磁盘文件的确是文本文件?这里有一个很简单的方法:把给定的那个文件看作是无类型的二进制文件,然后顺序地读出这个文件的每一个字节,如果文件里有一个字节的值等于0,那么这个文件就不是文本文件:反之,如果这个文件中没有一个字节的值是0的话,就可以判定这个文件是文本文件了.这是原理,下面看看在Delphi 中怎样编程来实现它-- 复制代码 代码如下: function IsTextFile(FileNam

  • Delphi用TActionList实现下载文件的方法

    Delphi中的TActionList有个标准动作TDownLoadURL,内部是使用的URLDownloadToFile,它下载文件时会定时产生OnDownloadProgress 事件,这样就可以用进度条显示. 本文讲述了Delphi用TActionList实现下载文件的方法,实现代码如下所示: uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtActns,

  • delphi使用Chilkat 组件和库从SFTP下载文件的方法

    官网地址:https://www.example-code.com/delphiDll/default.asp 实例代码:(不包括全局解锁) 密码生成器:https://www.cnblogs.com/hhmm99/p/11383027.html uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms,

  • PHP实现打包下载文件的方法示例

    本文实例讲述了PHP实现打包下载文件的方法.分享给大家供大家参考,具体如下: /** * 下载文件 * @param $img * @return string */ public function Download($img) { $items = []; $names = []; if($img) { //用于前端跳转zip链接拼接 $path_redirect = '/zip/'.date('Ymd'); //临时文件存储地址 $path = '/tmp'.$path_redirect;

  • python实现支持目录FTP上传下载文件的方法

    本文实例讲述了python实现支持目录FTP上传下载文件的方法.分享给大家供大家参考.具体如下: 该程序支持ftp上传下载文件和目录.适用于windows和linux平台. #!/usr/bin/env python # -*- coding: utf-8 -*- import ftplib import os import sys class FTPSync(object): conn = ftplib.FTP() def __init__(self,host,port=21): self.c

  • python实现从ftp服务器下载文件的方法

    本文实例讲述了python实现从ftp服务器下载文件的方法.分享给大家供大家参考.具体实现方法如下: import ftplib ftp = ftblib.FTP("ftp.yourServer.com") ftp.login("username","password") filename = "index.html" ftp.storlines("STOR "+filename,open(filename

  • JavaScript实现的浏览器下载文件的方法

    废话不多说了,直接给大家贴代码了,具体代码如下所示: function download(src) { var $a = document.createElement('a'); $a.setAttribute("href", src); $a.setAttribute("download", ""); var evObj = document.createEvent('MouseEvents'); evObj.initMouseEvent( '

  • ASP.NET批量下载文件的方法

    本文实例讲述了ASP.NET批量下载文件的方法.分享给大家供大家参考.具体方法如下: 一.实现步骤 在用户操作界面,由用户选择需要下载的文件,系统根据所选文件,在服务器上创建用于存储所选文件的临时文件夹,将所选文件拷贝至临时文件夹.然后调用 RAR程序,对临时文件夹进行压缩,然后输出到客户端.最后删除临时文件夹.   二.代码实现   1.ASP.NET批量下载 核心代码 复制代码 代码如下: //遍历服务器指定文件夹下的所有文件 string path = "uploads/Image/&qu

  • Android实现多线程下载文件的方法

    本文实例讲述了Android实现多线程下载文件的方法.分享给大家供大家参考.具体如下: 多线程下载大概思路就是通过Range 属性实现文件分段,然后用RandomAccessFile 来读写文件,最终合并为一个文件 首先看下效果图: 创建工程 ThreadDemo 首先布局文件 threaddemo.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo

  • PHP实现从远程下载文件的方法

    本文实例讲述了PHP实现从远程下载文件的方法.分享给大家供大家参考.具体实现方法如下: <?php if ($_GET[xfer]) { if ($_POST[from] == "") { print "You forgot to enter a url."; } else { copy("$_POST[from]", "$_POST[to]"); $size = round((filesize($_POST[to])/

  • C#实现HTTP下载文件的方法

    本文实例讲述了C#实现HTTP下载文件的方法.分享给大家供大家参考. 主要实现代码如下: 复制代码 代码如下: /// <summary> /// Http下载文件 /// </summary> public static string HttpDownloadFile(string url, string path) {     // 设置参数     HttpWebRequest request = WebRequest.Create(url) as HttpWebReques

随机推荐