纠结了很久还是先把这个开源了
易语言程序编写 编写版本:5.93 编译器版本:VB98linker
程序及源码均为免费提供,二次开发后不允许从事商业用途
开源版本Ver1.1,界面设计图
源码
窗口程序集_启动窗口_程序集
.版本 2 .支持库 EThread .支持库 iext .支持库 internet .支持库 eAPI .支持库 shell .支持库 spec .程序集 窗口程序集_启动窗口 .程序集变量 文件总数, 整数型 .程序集变量 update线程, 整数型 .程序集变量 转码线程句柄, 整数型 .程序集变量 转换进度, 整数型 .子程序 __启动窗口_创建完毕 华侨_加载皮肤_红色描边 () 启动线程 (&检查更新, , update线程) .子程序 检查更新, , , update .局部变量 当前版本, 小数型 .局部变量 最新版本号, 文本型 .局部变量 最新程序地址, 文本型 当前版本 = 1.1 透明标签3.标题 = 到文本 (当前版本) ' 检查版本 最新版本号 = 到文本 (HTTP读文件 (“#”))'填写你的服务器验证版本文件地址 .如果 (最新版本号 = “”) 透明标签4.标题 = “获取失败” 信息框 (“检测最新版本失败,请检查网络连接是否正常!”, 16, , ) 强制结束线程 (update线程) 返回 () .否则 透明标签4.标题 = 到文本 (最新版本号) 透明标签4.文本颜色 = #墨绿 .如果真 (到小数 (最新版本号) > 当前版本) 透明标签4.文本颜色 = #红色 信息框 (“发现最新版本,即将跳转至最新版本下载地址”, 64, , ) 打开指定网址 (到文本 (HTTP读文件 (“#”)))'填写你的服务器验证版本文件地址 强制结束线程 (update线程) 返回 () .如果真结束 信息框 (“当前已是最新版本!”, 64, “Update”, _启动窗口) 强制结束线程 (update线程) .如果结束 .子程序 _按钮1_被单击, , , 载入文件列表 .局部变量 文件名, 文本型 .局部变量 a, 整数型 按钮1.禁止 = 真 按钮3.禁止 = 真 标签5.标题 = “正在载入” 超级列表框1.全部删除 () 编辑框1.内容 = “” 编辑框1.内容 = 浏览文件夹 (“请选择LRC文件存放路径”, 假) 文件名 = 寻找文件 (编辑框1.内容 + “\*.lrc”, ) a = 0 .判断循环首 (文件名 ≠ “”) 正在转换标签.标题 = 文件名 超级列表框1.插入表项 (a, 到文本 (a + 1), , , , ) 超级列表框1.置标题 (a, 1, 文件名) 文件名 = 寻找文件 (, ) a = a + 1 延迟 (10) .判断循环尾 () 文件总数 = a 进度条1.最大位置 = 文件总数 标签5.标题 = “” 正在转换标签.标题 = “” 信息框 (“载入完成,共发现 ” + 到文本 (文件总数) + “ 个lrc文件。”, 64, “扫描并载入完成”, _启动窗口) 按钮1.禁止 = 假 按钮3.禁止 = 假 .子程序 _按钮2_被单击, , , 转码并保存文件 .如果真 (编辑框1.内容 = 保存路径.内容) 信息框 (“歌词文件保存路径不可与源路径一致,请重新选择保存路径,谢谢”, 48, “提示”, ) 返回 () .如果真结束 .如果真 (目录_是否存在 (保存路径.内容) = 假) .如果真 (创建目录 (保存路径.内容) = 假) 信息框 (“创建保存文件文件夹失败,请与开发者联系!”, 48, “BUG提示”, ) 返回 () .如果真结束 .如果真结束 按钮2.禁止 = 真 按钮1.禁止 = 真 按钮3.禁止 = 真 按钮6.禁止 = 假 按钮7.禁止 = 假 标签5.标题 = “正在转换” 转换进度 = 1 启动线程 (&转码线程, , 转码线程句柄) .子程序 转码线程, , 公开, 转码 .局部变量 b, 整数型 .局部变量 文件号, 整数型 .局部变量 待转换文件名, 文本型 .局部变量 文本数据, 文本型 .局部变量 转换后的文本数据, 文本型 .局部变量 百分比, 小数型 .计次循环首 (文件总数, b) 进度条1.位置 = 转换进度 百分比 = 转换进度 ÷ 文件总数 × 100 标签6.标题 = 到文本 (四舍五入 (百分比, 2)) + “%” 待转换文件名 = 超级列表框1.取标题 (转换进度 - 1, 1) 正在转换标签.标题 = 待转换文件名 文件号 = 打开文件 (编辑框1.内容 + “\” + 待转换文件名, , ) 文本数据 = 读入文本 (文件号, ) 转换前预览.内容 = 文本数据 转换后的文本数据 = 通用编码_转换文本型 (到字节集 (文本数据), “UTF-8”) 转换后预览.内容 = 转换后的文本数据 写到文件 (保存路径.内容 + “\” + 待转换文件名, 到字节集 (转换后的文本数据)) 延迟 (500) 关闭文件 (文件号) 转换进度 = 转换进度 + 1 .计次循环尾 () 信息框 (“转换完成”, 64, , ) 进度条1.位置 = 0 正在转换标签.标题 = “” 标签5.标题 = “” 标签6.标题 = “100%” 按钮2.禁止 = 假 按钮1.禁止 = 假 按钮3.禁止 = 假 按钮6.禁止 = 真 按钮7.禁止 = 真 .子程序 _按钮3_被单击, , , 选择保存路径 保存路径.内容 = 浏览文件夹 (“请选择要保存的文件路径”, 假) .子程序 _保存路径_内容被改变 .如果 (编辑框1.内容 ≠ “” 且 保存路径.内容 ≠ “”) 按钮2.禁止 = 假 .否则 按钮2.禁止 = 真 .如果结束 .子程序 _保存路径_被双击, 逻辑型, , 快捷键 .参数 横向位置, 整数型 .参数 纵向位置, 整数型 .参数 功能键状态, 整数型 _按钮3_被单击 () .子程序 _编辑框1_被双击, 逻辑型, , 快捷键 .参数 横向位置, 整数型 .参数 纵向位置, 整数型 .参数 功能键状态, 整数型 _按钮1_被单击 () .子程序 _按钮5_被单击 打开指定网址 (“http://www.sz2016.com”) .子程序 _按钮4_被单击, , , 检查更新按钮 启动线程 (&检查更新, , update线程) .子程序 _按钮7_被单击, , , 停止按钮 强制结束线程 (转码线程句柄) 标签5.标题 = “” 正在转换标签.标题 = “” 按钮6.禁止 = 真 按钮7.禁止 = 真 按钮6.标题 = “暂停” 标签6.标题 = “100%” 进度条1.位置 = 0 按钮1.禁止 = 假 按钮2.禁止 = 假 按钮3.禁止 = 假 .子程序 _按钮6_被单击 .如果 (按钮6.标题 = “暂停”) 按钮6.标题 = “继续” 标签5.标题 = “已暂停” 正在转换标签.标题 = “” 强制结束线程 (转码线程句柄) .否则 按钮6.标题 = “暂停” 标签5.标题 = “正在转换” 启动线程 (&转码线程, , 转码线程句柄) .如果结束
调用程序集_程序集
.版本 2 .程序集 调用程序集 .子程序 通用编码_转换文本型, 文本型, 公开, 将任意编码格式(字节集类)转换成ANSI(文本格式编码) .参数 data, 字节集, , 要转换的数据 .参数 Cset, 文本型, 可空, 转换前的编码 例:“UTF-8”,“Unicode”。留空默认为“UTF-8” .局部变量 对象, 对象 .局部变量 变体型, 变体型 .局部变量 temp, 文本型 .如果真 (是否为空 (Cset) = 真) Cset = “UTF-8” .如果真结束 对象.创建 (“adodb.stream”, ) ' 调用方法 对象.写属性 (“Type”, 1) ' Type 指定或返回的数据类型,可选参数为:字节集 =1 文本型 =2 对象.写属性 (“Mode”, 3) ' 指定打开模式,可不指定,可选参数如下:1只读 2只写 3读写 对象.方法 (“Open”, ) ' 打开对像 变体型.赋值 (data, ) ' 为对象赋值,变体型 参数2为 数组对象数组赋值,普通对象 留空 对象.方法 (“Write”, 变体型) ' Write 和 WriteText 方法将指定的数据装入对像中 前者为字节集 后者为字符串 对象.写属性 (“Position”, 0) ' 指定或返加对像内数据的当前指针 对象.写属性 (“Type”, 2) 对象.写属性 (“Charset”, Cset) ' 属性指定用于存储 Stream 的字符集 temp = 对象.文本方法 (“ReadText”, ) ' Read 和 ReadText 方法将对象数据读取出来 前者为字节集 后者为字符串 对象.方法 (“Close”, ) ' 关闭对象 返回 (temp)
模块引用
华侨精绘皮肤模块3.8.ec
精易模块[v11.0.5].ec