|
发表于 2012-7-13 20:21:09
|
显示全部楼层
河南省郑州市
.版本 2
.支持库 downlib
.支持库 EThread
.子程序 下载文件, , 公开
.参数 地址, 文本型
.参数 本地目录, 文本型, , 以\结束
.参数 限速, 整数型, 可空
任务.类型 = #传送常量.下载
任务.默认线程数 = 5
任务.线程等待超时 = 1000
任务.连接超时 = 5000
任务.发送超时 = 5001
任务.接收超时 = 10000
任务.接收大小 = 10240
任务.交互回调函数 = &交互回调函数
启动线程 (&下载速度, , 下载_句柄)
任务.文件地址 = 地址
任务.本地文件路径 = 本地目录
.如果真 (限速 ≠ 0)
下载.限制速度 (限速 × 1024)
.如果真结束
下载.增加新任务 (任务)
.子程序 下载速度
.局部变量 剩余, 整数型
.判断循环首 (真)
下载速度 = 下载.取下载速度 () ÷ 1024
剩余大小 = 四舍五入 (下载.取已下载长 () ÷ 1024, )
延时 (1000)
.判断循环尾 ()
.子程序 交互回调函数, 整数型
.参数 消息类型, 整数型
.参数 线程信息, 整数型
.参数 文件大小, 整数型
.参数 参数一, 整数型
.参数 对象信息, 整数型
.如果真 (消息类型 = #传送常量.存在同名文件)
信息框 (“发现同名是否替换?”, 64 + 1, “CYL”)
.如果真结束
.如果真 (消息类型 = #传送常量.下载上传开始)
总共大小 = 四舍五入 (文件大小 ÷ 1024, )
.如果真结束
.如果真 (消息类型 = #传送常量.下载上传结束)
输出调试文本 (“下载完毕”)
强制结束线程 (下载_句柄)
.如果真结束
.如果真 (消息类型 = #传送常量.线程异常结束)
输出调试文本 (“下载失败”)
返回 (0)
.如果真结束
.如果真 (消息类型 = #传送常量.新下载线程启动)
输出调试文本 (“下载失败”)
返回 (0)
.如果真结束
返回 (0)
下载文件(地址,本地,限速)
运行(下载的程序,)
结束
\\把程序里带着删除文件,就ok了
|
|