.版本 2
.支持库 EThread
.支持库 iext
.支持库 internet
.程序集 窗口程序集_启动窗口
.程序集变量 完成数, 整数型
.程序集变量 运行线程数, 整数型
.程序集变量 下载目录, 文本型
.子程序 __启动窗口_创建完毕
下载目录 = 取运行目录 () + “\流浪地球\”
创建目录 (下载目录 + “tmp”)
init_下载列表 ()
启动线程 (&init_下载线程, , )
' 本源码来自三叶资源网(www.sanye.cx)
.子程序 init_下载列表
.局部变量 url, 文本型
.局部变量 i, 整数型
.局部变量 id
url = “https://gncdn3.jongta.com:666/2019/02/07/jDl9x2ryD0tMmYcU/out”
.计次循环首 (723, i)
id = 超级列表框1.插入表项 (-1, “准备下载”, , , , )
超级列表框1.置标题 (id, 1, url + GetLengthStr (i) + “.ts”)
.如果真 (文件是否存在 (下载目录 + “\tmp\out” + GetLengthStr (i) + “.ts”))
超级列表框1.置表项数值 (id, 2)
超级列表框1.置标题 (id, 0, “下载完毕”)
.如果真结束
.计次循环尾 ()
.子程序 init_下载线程
时钟1.时钟周期 = 200
.计次循环首 (5, )
启动线程 (&line_down, , )
延时 (100)
.计次循环尾 ()
.子程序 line_down
.局部变量 FileNameHead, 文本型
.局部变量 i, 整数型
运行线程数 = 运行线程数 + 1
FileNameHead = “https://gncdn3.jongta.com:666/2019/02/07/jDl9x2ryD0tMmYcU/out”
.计次循环首 (超级列表框1.取表项数 (), i)
.如果真 (超级列表框1.取表项数值 (i - 1) = 0)
超级列表框1.置表项数值 (i - 1, 1)
超级列表框1.置标题 (i - 1, 0, “正在下载”)
超级列表框1.保证显示 (i - 1)
写到文件 (下载目录 + “\Tmp\out” + GetLengthStr (i - 1) + “.ts”, HTTP读文件 (FileNameHead + GetLengthStr (i - 1) + “.ts”))
超级列表框1.置表项数值 (i - 1, 2)
超级列表框1.置标题 (i - 1, 0, “下载完成”)
' 本源码来自三叶资源网(www.sanye.cx)
.如果真结束
.如果真 (超级列表框1.取表项数值 (i - 1) = 2)
超级列表框1.置表项数值 (i - 1, 3)
进度条1.位置 = 进度条1.位置 + 1
完成数 = 完成数 + 1
' 调试输出 (“[line_down]完成数:”, 完成数, “表项数:”, 超级列表框1.取表项数 ())
.如果真结束
.计次循环尾 ()
运行线程数 = 运行线程数 - 1
.如果真 (运行线程数 = 0)
Line_Done ()
.如果真结束
.子程序 GetLengthStr, 文本型
.参数 int, 整数型
.局部变量 返回文本, 文本型
返回文本 = 到文本 (int)
.判断循环首 (取文本长度 (返回文本) < 3)
返回文本 = “0” + 返回文本
.判断循环尾 ()
返回 (返回文本)
.子程序 _时钟1_周期事件
标签1.标题 = “已下载:” + 到文本 (完成数 ÷ 800 × 100) + “%”
.子程序 Line_Done
' 调试输出 (“下载完毕”)
时钟1.时钟周期 = 0
标签1.标题 = “正在合并文件流...”
运行 (“cmd /c cd ” + #引号 + 下载目录 + “tmp” + #引号 + “© /b *.ts ..\流浪地球.ts”, 真, 1)
' 调试输出 (“合成完毕”)
标签1.标题 = “正在删除缓存文件...”
运行 (“cmd /c rd /q /s ” + #引号 + 下载目录 + “tmp” + #引号, 真, 1)
标签1.标题 = “下载完成!”
' 本源码来自三叶资源网(www.sanye.cx)