精易论坛

标题: 远程获取文件更新,进度条显示 [打印本页]

作者: hanlaojia    时间: 3 天前
标题: 远程获取文件更新,进度条显示
问题:一个自动更新程序,通过服务器远端下载地址下载文件的时候,进度条不显示,文件总大小不显示,dnahsi
测试地址:http://122.224.27.242:81/update.zip

  
窗口程序集名保 留  保 留备 注
窗口补丁更新程序集   
变量名类 型数组备 注
下载URL地址文本型  
远程文件大小文本型  

子程序名返回值类型公开备 注
_窗口补丁更新_创建完毕  
下载URL地址 = 补丁更新下载地址
本地储存路径 = 取运行目录 ()“\update.zip”
获取远程文件大小 ()
文件下载 (下载URL地址, 本地储存路径, 进度条1, 标签下载速度, 标签文件大小)
子程序名返回值类型公开备 注
_标签下载速度_反馈事件整数型 
参数名类 型参考可空数组备 注
参数一整数型
参数二整数型
如果 (参数一 = -1)
标签文件大小.标题 = “”
标签下载速度.标题 = “下载完毕,执行解压”
执行解压文件 ()
标签下载速度.标题 = “当前速度: ”到文本 (参数一)“ Kb/s”

子程序名返回值类型公开备 注
_标签文件大小_反馈事件整数型 
参数名类 型参考可空数组备 注
参数一整数型
参数二整数型
标签文件大小.标题 = “总大小: ” + 远程文件大小 + “ Kb 已下载: ”到文本 (参数二)“ Kb”
进度条1.最大位置 = 到整数 (远程文件大小)
进度条1.位置 = 参数二
子程序名返回值类型公开备 注
获取远程文件大小  
变量名类 型静态数组备 注
主页文本型 
命令文本型 
客户更新文件.断开连接 ()
如果 (取文本左边 (补丁更新下载地址, 4)“http”)
主页 = 取文本中间 (补丁更新下载地址, 7, 寻找文本 (补丁更新下载地址, “/”, 7, ) - 7)
如果真 (客户更新文件.连接 (主页, 81))
命令 = “GET ” + 补丁更新下载地址 + “ HTTP/1.1”#换行符
命令 = 命令 + “Host: ” + 主页 + #换行符
客户更新文件.发送数据 (命令 + #换行符 )




子程序名返回值类型公开备 注
_客户更新文件_数据到达  
变量名类 型静态数组备 注
数据文本型 
文本位置  
文件长度文本型 
目标数据字节集 
文件名文本型 
位置2  
数据 = 取字节集数据 (客户更新文件.取回数据 (), 10, )
文本位置 = 寻找文本 (数据, “Content-Length: ”, , )
如果 (文本位置 ≠ -1)
客户更新文件.断开连接 ()
位置2 = 寻找文本 (数据, #换行符, 文本位置 + 17, )
文件长度 = 取文本中间 (数据, 文本位置 + 16, 位置2 - 文本位置 - 16)
远程文件大小 = 文件长度
远程文件大小 = 到文本 (到整数 (到整数 (远程文件大小) ÷ 1024))



子程序名返回值类型公开备 注
执行解压文件  
ZIP压缩.解压 (本地储存路径, 取运行目录 ())
删除文件 (取运行目录 ()“/update.zip”)
子程序名返回值类型公开备 注
_ZIP压缩_解压缩进度逻辑型 
参数名类 型参考可空数组备 注
已完成百分比整数型
进度条1.最大位置 = 100
进度条1.位置 = 已完成百分比
如果真 (已完成百分比 ≥ 100)
写配置项 (更新补丁配置文件路径, “配置”, “自身版本号”, 到文本 (当前版本号))
全部成功了 ()
标签文件大小.标题 = “正解压:” + ZIP压缩.取进度提示 ()
子程序名返回值类型公开备 注
全部成功了  
信息框 (“恭喜:补丁更新完毕!”, #信息图标, “提示”)
载入 (_启动窗口, , )
窗口补丁更新.销毁 ()
子程序名返回值类型公开备 注
_窗口补丁更新_可否被关闭逻辑型 
返回 ()
子程序名返回值类型公开备 注
_窗口补丁更新_将被销毁  
_启动窗口._超级按钮2_被单击 ()


i支持库列表   支持库注释   
eCompress压缩解压支持库


1746601485825.jpg (12.88 KB, 下载次数: 0)

相关代码

相关代码

d15ed1b10723d39a0c9623a7fec2df3.png (6.48 KB, 下载次数: 0)

更新界面

更新界面

d15ed1b10723d39a0c9623a7fec2df3.png (6.48 KB, 下载次数: 0)

d15ed1b10723d39a0c9623a7fec2df3.png

1746601485825.jpg (12.88 KB, 下载次数: 0)

1746601485825.jpg

作者: Ruang    时间: 3 天前
模块+源码

补充内容 (2025-5-7 19:00):
根据楼主要求修改

补充内容 (2025-5-7 19:12):
本地保存文件,是根据下载路径中的文件名保存到运行目录下的

截图20250507184933.png (165.23 KB, 下载次数: 0)

截图20250507184933.png

demo.rar

38.61 KB, 下载次数: 6


作者: Ruang    时间: 3 天前
试试看用这个

易下载引擎_演示.rar

42.52 KB, 下载次数: 12


作者: 熬夜    时间: 3 天前
https://125.confly.eu.org/forum.php?mod=viewthread&tid=14560618




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4