易语言通过计算替换字节实现酷狗音乐缓存文件转MP3的代码

时间:2021-05-19

DLL命令表

.版本 2.DLL命令 创建线程_, 整数型, "kernel32", "CreateThread", , CreateThread建立新的线索 .参数 lpThreadAttributes, 整数型, , 0 .参数 dwStackSize, 整数型, , 0 .参数 lpStartAddress, 子程序指针 .参数 lpParameter, 整数型 .参数 dwCreationFlags, 整数型, , 0 .参数 lpThreadId, 整数型, , 线程ID.DLL命令 _创建许可证, , "kernel32", "InitializeCriticalSection", , 创建许可证 .参数 lpCriticalSection, 多线程许可证, 传址.DLL命令 _删除许可证, , "kernel32", "DeleteCriticalSection", , 删除许可证 .参数 lpCriticalSection, 多线程许可证, 传址.DLL命令 _进入许可区, , "kernel32", "EnterCriticalSection", , 进入许可区 .参数 lpCriticalSection, 多线程许可证, 传址.DLL命令 _退出许可区, , "kernel32", "LeaveCriticalSection", , 退出许可区 .参数 lpCriticalSection, 多线程许可证, 传址.DLL命令 线程_挂起, 整数型, "kernel32", "SuspendThread" .参数 hThread, 整数型.DLL命令 线程_恢复, 整数型, "kernel32", "ResumeThread" .参数 hThread, 整数型

自定义数据类型表

.版本 2.数据类型 多线程许可证, 公开 .成员 DebugInfo, 整数型 .成员 LockCount, 整数型 .成员 RecursionCount, 整数型 .成员 OwningThread, 整数型 .成员 LockSemaphore, 整数型 .成员 SpinCount, 整数型

酷狗kgtemp转MP3的代码

.版本 2.支持库 iext.支持库 spec.程序集 窗口程序集_启动窗口.程序集变量 许可证, 多线程许可证.程序集变量 线程数, 整数型.程序集变量 handle, 整数型, , "0".程序集变量 是否暂停, 逻辑型.程序集变量 是否停止, 逻辑型.子程序 __启动窗口_创建完毕路径编辑框.内容 = 取运行目录 () + “\mp3\”_创建许可证 (许可证)输出调试文本 (许可证.DebugInfo).子程序 _按钮生成_被单击.局部变量 初始目录, 文本型.局部变量 文件, 文本型.局部变量 索引, 整数型.局部变量 数值1, 文本型.局部变量 i, 整数型按钮开始.禁止 = 假超级列表框1.表项 = { }i = 0初始目录 = 取运行目录 () + “\”文件 = 寻找文件 (初始目录 + “*.kgtemp”, ).循环判断首 () .如果真 (文件是否存在 (初始目录 + 文件)) i = i + 1 索引 = 超级列表框1.插入表项 (, , , , , ) 超级列表框1.置标题 (索引, 0, 到文本 (i)) 超级列表框1.置标题 (索引, 1, 初始目录 + 文件) 超级列表框1.置标题 (索引, 2, “待转”) .如果真结束 文件 = 寻找文件 (, ).循环判断尾 (文件 ≠ “”).子程序 _按钮开始_被单击.如果真 (文件是否存在 (路径编辑框.内容) = 假) 创建目录 (路径编辑框.内容).如果真结束是否停止 = 假按钮开始.禁止 = 真按钮生成.禁止 = 真按钮停止.禁止 = 假按钮暂停.禁止 = 假多线程启动 ()按钮生成.禁止 = 假按钮停止.禁止 = 真按钮暂停.禁止 = 真按钮开始.禁止 = 假.子程序 单线程转换.参数 表项, 整数型.局部变量 文件路径, 文本型.局部变量 文件名, 文本型.局部变量 mp3, 字节集文件路径 = 超级列表框1.取标题 (表项, 1)文件名 = 取文本右边 (文件路径, 取文本长度 (文件路径) - 倒找文本 (文件路径, “\”, , 假))mp3 = kgtemp转MP3 (文件路径).如果 (mp3 ≠ { }) .如果 (写到文件 (路径编辑框.内容 + 文件名 + “.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) ' 延迟的目的是防止线程数超过设定数目。 .判断循环尾 ().计次循环尾 ().子程序 _按钮暂停_被单击.局部变量 cout, 整数型.局部变量 i, 整数型cout = 超级列表框1.取表项数 ().判断开始 (按钮暂停.标题 = “暂停”) 是否暂停 = 真 .计次循环首 (cout, i) 线程_挂起 (handle [i]) .计次循环尾 () 按钮暂停.标题 = “恢复”.默认 按钮暂停.标题 = “恢复” 是否暂停 = 假 .计次循环首 (cout, i) 线程_恢复 (handle [i]) .计次循环尾 () 按钮暂停.标题 = “暂停”.判断结束.子程序 _按钮停止_被单击是否停止 = 真按钮生成.禁止 = 真.子程序 kgtemp转MP3, 字节集.参数 文件路径, 文本型.局部变量 key, 整数型, , "4".局部变量 文件号, 整数型.局部变量 临时字节集文件, 字节集.局部变量 临时字节集指针, 整数型.局部变量 字节集长度, 整数型.局部变量 计数, 整数型.局部变量 i, 整数型.局部变量 结果, 整数型.局部变量 输出结果, 字节集.局部变量 时间, 整数型key [1] = 172key [2] = 236key [3] = 223key [4] = 87文件号 = 打开文件 (文件路径, , )临时字节集文件 = 读入字节集 (文件号, 取文件长度 (文件号))关闭文件 (文件号)临时字节集文件 = 取字节集右边 (临时字节集文件, 取字节集长度 (临时字节集文件) - 1024)临时字节集指针 = 取变量数据地址 (临时字节集文件)字节集长度 = 取字节集长度 (临时字节集文件)时间 = 取启动时间 ().计次循环首 (字节集长度, 计数) i = 计数 % 4 .如果真 (i = 0) i = 4 .如果真结束 结果 = 位异或 (取低位 (临时字节集文件 [计数]), 取低位 (key [i])) 结果 = 位或 (左移 (位异或 (取高位 (临时字节集文件 [计数]), 取高位 (key [i]), 结果), 4), 结果) 写到内存 (取字节集左边 (到字节集 (结果), 1), 临时字节集指针 + 计数 - 1, 1).计次循环尾 ()输出调试文本 (取启动时间 () - 时间)返回 (临时字节集文件).子程序 MP3转kgtemp, 字节集.参数 文件路径, 文本型.局部变量 key, 整数型, , "4".局部变量 文件号, 整数型.局部变量 临时字节集文件, 字节集.局部变量 临时字节集指针, 整数型.局部变量 字节集长度, 整数型.局部变量 计数, 整数型.局部变量 i, 整数型.局部变量 结果, 整数型.局部变量 输出结果, 字节集.局部变量 时间, 整数型key [1] = 172key [2] = 236key [3] = 223key [4] = 87文件号 = 打开文件 (文件路径, , )临时字节集文件 = 读入字节集 (文件号, 取文件长度 (文件号))关闭文件 (文件号)临时字节集指针 = 取变量数据地址 (临时字节集文件)字节集长度 = 取字节集长度 (临时字节集文件)时间 = 取启动时间 ().计次循环首 (字节集长度, 计数) i = 计数 % 4 .如果真 (i = 0) i = 4 .如果真结束 结果 = 位异或 (取高位 (临时字节集文件 [计数]), 取低位 (临时字节集文件 [计数]), 取高位 (key [i])) 结果 = 位或 (左移 (结果, 4), 位异或 (取低位 (临时字节集文件 [计数]), 取低位 (key [i]))) 写到内存 (取字节集左边 (到字节集 (结果), 1), 临时字节集指针 + 计数 - 1, 1).计次循环尾 ()输出调试文本 (取启动时间 () - 时间)返回 (#head + 临时字节集文件).子程序 取高位, 整数型.参数 待取整数, 整数型返回 (右移 (待取整数, 4)).子程序 取低位, 整数型.参数 待取整数, 整数型返回 (位与 (待取整数, 15)).子程序 __启动窗口_将被销毁_删除许可证 (许可证)

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章