用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - delphi代码库

下载对话框 下载文件,下载成功后执行代码

2022-08-27 作者: 云代码会员举报

[delphi]代码库

/// <summary>显示一个下载进度对话框</summary>
    /// <param name="aform">一个form或者frame</param>
    /// <param name="aURL">要下载文件的url地址</param>
    /// <param name="SaveToFile">要保存的文件全路径</param>
    /// <param name="aProc">一个回调函数TProc<String, TaDownLoadDialogFunctionResult></param>
    /// <param name="aProgressColor">进度条的颜色</param>
    /// <param name="cancancel">取消下载按钮是否可见</param>
    procedure ShowDownLoadDialog(aform: TComponent; AUrl, SaveToFile: String;
      aProc: TProc<String, TaDownLoadDialogFunctionResult> = nil;
      aProgressColor: TAlphaColor = $FFA5D34D; cancancel: boolean = True);


示例
procedure TFormGY.Rectangle79MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; x, y: Single);
var
  apkfileurl, SaveToFile: string;
begin
  if Sqrt(Sqr(abs(x - X1)) + Sqr(abs(y - Y1))) > 5 then // 防止鼠标单击时与滑动冲突
    exit;

  // 如果显示了提示框,则不执行后面的代码,提示框只会主动显示一次
  if SJGY.ShowHint(self, Sender, '这是一个通用的下载进度对话框,下载完毕后会执行您指定的事件。') = true then
    exit;

  SJGY.RootUrl := 'http://117.34.118.7:94/';
  apkfileurl := SJGY.RootUrl + 'nosessionhtmls/shengjiwenjian/YiDongTongYongKuangJiaAPP.rar';
  SaveToFile := SJGY.GetHuanCunPath('temp') + 'YiDongTongYongKuangJiaAPP.rar';

  SJGY.ShowDownLoadDialog(self, apkfileurl, SaveToFile,
    procedure(aResult: string; aDownLoadDialogFunctionResult: TaDownLoadDialogFunctionResult)
    begin
      if aDownLoadDialogFunctionResult.Success = true then // 下载成功了
      begin
        SJGY.ShowDialog(self, '下载成功了,文件保存在:' + SaveToFile);
      end
      else
      begin
        SJGY.ShowDialog(self, '下载失败:' + aDownLoadDialogFunctionResult.ErrorMessage);
      end;
    end); // $FFF7946F 可以设置进度条的颜色
end;


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...