|

8精币
问题:一个自动更新程序,通过服务器远端下载地址下载文件的时候,进度条不显示,文件总大小不显示,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_被单击 ()
|
最佳答案
查看完整内容
模块+源码
补充内容 (2025-5-7 19:00):
根据楼主要求修改
补充内容 (2025-5-7 19:12):
本地保存文件,是根据下载路径中的文件名保存到运行目录下的
|