|
70精币
.版本 2
.支持库 iext
.支持库 spec
.如果真 (name ≠ “”)
title = 子文本替换 (title, “《” + name + “》”, , , , 真)
file = file + name + “\”
.如果真 (目录_是否存在 (file) = 假)
创建目录 (file)
.如果真结束
list.插入表项 (, , , , , )
list.置标题 (list.取表项数 () - 1, 0, 到文本 (list.取表项数 ()))
list.置标题 (list.取表项数 () - 1, 1, title)
list.置标题 (list.取表项数 () - 1, 2, “0%”)
Json2.清除 ()
Json2.置属性数值 (“i”, list.取表项数 () - 1)
Json2.置属性 (“下载地址”, str)
Json2.置属性 (“文件名称”, title + “.mp3”)
Json2.置属性 (“下载目录”, 子文本替换 (file, “\”, “\\”, , , 真))
str = Json2.取数据文本 ()
传递地址 = 申请内存 (取文本长度 (str) + 1, 真)
写到内存 (到字节集 (str), 传递地址, )
进行任务 = 进行任务 + 1
线程_启动 (&鱼刺_下载, 传递地址)
.判断循环首 (真)
.如果真 (进行任务 ≤ 3)
跳出循环 ()
.如果真结束
程序_延时 (2000)
.判断循环尾 ()
.如果真结束
.计次循环尾 ()
.计次循环尾 ()
按钮1.禁止 = 假
.子程序 鱼刺_下载
.参数 传递地址, 文本型
.局部变量 str, 文本型
.局部变量 Json, 类_json
.局部变量 下载地址, 文本型
.局部变量 文件名称, 文本型
.局部变量 下载目录, 文本型
.局部变量 http, WinInet_下载
.局部变量 Id, 整数型
.局部变量 i, 整数型
Json.解析 (传递地址)
文件名称 = Json.取通用属性 (“文件名称”)
下载地址 = Json.取通用属性 (“下载地址”)
下载目录 = Json.取通用属性 (“下载目录”)
i = Json.取属性数值 (“i”)
Id = http.置回调子程序 (&鱼刺_回调)
http.SetPath (下载目录 + 文件名称)
http.Open (“GET”, 下载地址)
' http.SetProxy (ProxIp)
' http.SetRequestHeader (“Host”, “qh.qhhhhd.com”)
' http.SetRequestHeader (“Host”, “cdn1.hongtaocdn3.com”)
http.Send ()
http.GetResponseBody ()
.子程序 鱼刺_回调
.参数 任务序号, 整数型
.参数 总长度, 长整数型
.参数 当前进度, 长整数型
.参数 本次长度, 整数型
.局部变量 str, 文本型
str = 到文本 (四舍五入 (当前进度 ÷ 总长度 × 100, 2)) + “%”
list.置标题 (任务序号 - 1, 2, str)
.如果真 (str = “100%”)
线程_进入许可区 (许可证)
进行任务 = 进行任务 - 1
线程_退出许可区 (许可证)
.如果真结束
|
最佳答案
查看完整内容
线程_启动 (&鱼刺_下载, 传递地址) 改为 鱼刺_下载(str)
|