本程序由宋佳乐博客技术支持
下载地址:
本程序使用中国易语言程序编写:
.版本 2
.支持库 iext
.支持库 spec
.子程序 __启动窗口_创建完毕
编辑框1.内容 = 取运行目录 () + “\mp3\”
_创建许可证 (许可证)
输出调试文本 (许可证.DebugInfo)
信息框 (“本程序由宋佳乐博客技术支持,官方博客www.songjiale.com”, 0, , )
.子程序 _按钮生成_被单击
.局部变量 初始目录, 文本型
.局部变量 文件, 文本型
.局部变量 索引, 整数型
.局部变量 数值1, 文本型
.局部变量 i, 整数型
按钮开始.禁止 = 假
超级列表框1.表项 = { }
i = 0
初始目录 = 取运行目录 () + “\”
文件 = 寻找文件 (初始目录 + “*.kgtemp”, )
.循环判断首 ()
.如果真 (文件是否存在 (初始目录 + 文件))
i = i + 1
索引 = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (索引, 0, 到文本 (i))
超级列表框1.置标题 (索引, 1, 初始目录 + 文件)
超级列表框1.置标题 (索引, 2, “待转”)
.如果真结束
文件 = 寻找文件 (, )
.循环判断尾 (文件 ≠ “”)
.子程序 _按钮开始_被单击
.如果真 (文件是否存在 (编辑框1.内容) = 假)
创建目录 (编辑框1.内容)
.如果真结束
是否停止 = 假
按钮开始.禁止 = 真
按钮生成.禁止 = 真
按钮停止.禁止 = 假
按钮暂停.禁止 = 假
多线程启动 ()
按钮生成.禁止 = 假
按钮停止.禁止 = 真
按钮暂停.禁止 = 真
按钮开始.禁止 = 假
.子程序 单线程转换
.参数 表项, 整数型
.局部变量 文件路径, 文本型
.局部变量 文件名, 文本型
.局部变量 mp3, 字节集
文件路径 = 超级列表框1.取标题 (表项, 1)
文件名 = 取文本右边 (文件路径, 取文本长度 (文件路径) - 倒找文本 (文件路径, “\”, , 假))
mp3 = kgtemp转MP3 (文件路径)
.如果 (mp3 ≠ { })
.如果 (写到文件 (编辑框1.内容 + 文件名 + “.mp3”, mp3))
超级列表框1.置标题 (表项, 2, “完成”)
.否则
超级列表框1.置标题 (表项, 2, “失败”)
.如果结束
.否则
超级列表框1.置标题 (表项, 2, “失败”)
.如果结束
超级列表框1.保证显示 (表项)
_进入许可区 (许可证)
线程数 = 线程数 - 1
_退出许可区 (许可证)
.子程序 多线程启动
.局部变量 数量, 整数型
.局部变量 i, 整数型
数量 = 超级列表框1.取表项数 ()
重定义数组 (handle, 假, 数量) ' 防止数组越界
.计次循环首 (数量, i)
.如果真 (是否停止)
跳出循环 ()
.如果真结束
.判断循环首 (是否暂停)
延迟 (200) ' 如果单击了暂停按钮,程序就停在此处无限循环,直到单击恢复。
.判断循环尾 ()
创建线程_ (0, 0, &单线程转换, i - 1, 0, handle [i])
超级列表框1.置标题 (i - 1, 2, “转换中”)
_进入许可区 (许可证)
线程数 = 线程数 + 1 ' 循环一次就让线程数增加1
_退出许可区 (许可证)
.判断循环首 (线程数 = 到整数 (编辑框线程数.内容))
.如果真 (是否停止)
跳出循环 ()
.如果真结束
延迟 (100) ' 延迟的目的是防止线程数超过设定数目。
.判断循环尾 ()
.计次循环尾 ()
亲,沙发正空着,还不快来抢?
我要评论 / 展开表单