能不能帮我修改一下易语言的同步歌词代码
核心代码:.版本2.子程序读取当前歌词,文本型.参数歌词文件,字节集.局部变量暂存1,文本型.局部变量暂存2,文本型暂存1=读取文本其中一行(到文本(歌词文件),歌词位置...
核心代码:
.版本 2
.子程序 读取当前歌词, 文本型
.参数 歌词文件, 字节集
.局部变量 暂存1, 文本型
.局部变量 暂存2, 文本型
暂存1 = 读取文本其中一行 (到文本 (歌词文件), 歌词位置)
暂存2 = 读取文本其中一行 (到文本 (歌词文件), 歌词位置 + 1)
.如果 (暂存2 = “”)
.如果 (取文本右边 (暂存1, 1) = “]” 且 取文本中间 (暂存1, 取文本长度 (暂存1) - 3, 1) = “:” 且 取文本中间 (暂存1, 取文本长度 (暂存1) - 6, 1) = “:” 且 取文本中间 (暂存1, 取文本长度 (暂存1) - 9, 1) = “[”) ' 只是保险起见搞这么多判断
.如果 (当前时间 ≥ 转化时间2 (取文本中间 (暂存1, 2, 8)) 且 当前时间 < 转化时间2 (取文本中间 (暂存1, 取文本长度 (暂存1) - 8, 8)))
返回 (取文本中间 (暂存1, 11, 取文本长度 (暂存1) - 20))
.否则
歌词位置 = 歌词位置 + 1
.如果结束
.否则
.如果 (当前时间 ≥ 转化时间2 (取文本中间 (暂存1, 2, 8)))
返回 (取文本中间 (暂存1, 11, 取文本长度 (暂存1) - 10))
.否则
歌词位置 = 歌词位置 + 1
.如果结束
.如果结束
.否则
.如果 (取文本右边 (暂存1, 1) = “]” 且 取文本中间 (暂存1, 取文本长度 (暂存1) - 3, 1) = “:” 且 取文本中间 (暂存1, 取文本长度 (暂存1) - 6, 1) = “:” 且 取文本中间 (暂存1, 取文本长度 (暂存1) - 9, 1) = “[”) ' 只是保险起见搞这么多判断
.如果 (当前时间 ≥ 转化时间2 (取文本中间 (暂存1, 2, 8)) 且 当前时间 < 转化时间2 (取文本中间 (暂存1, 取文本长度 (暂存1) - 8, 8)))
返回 (取文本中间 (暂存1, 11, 取文本长度 (暂存1) - 20))
.否则
歌词位置 = 歌词位置 + 1
.如果结束
.否则
.如果 (当前时间 ≥ 转化时间2 (取文本中间 (暂存1, 2, 8)) 且 当前时间 < 转化时间2 (取文本中间 (暂存2, 2, 8)))
返回 (取文本中间 (暂存1, 11, 取文本长度 (暂存1) - 10))
.否则
歌词位置 = 歌词位置 + 1
.如果结束
.如果结束
.如果结束
返回 (“”)
.子程序 转化时间2, 整数型
.参数 输入时间, 文本型
.局部变量 返回输出整数, 整数型
.局部变量 暂存的分割文本, 文本型, , "0"
暂存的分割文本 = 分割文本 (输入时间, “:”, )
.如果 (取数组成员数 (暂存的分割文本) = 3)
返回输出整数 = 到数值 (暂存的分割文本 [1]) × 60 × 60 + 到数值 (暂存的分割文本 [2]) × 60 + 到数值 (暂存的分割文本 [3])
.否则
返回输出整数 = 0
.如果结束
返回 (返回输出整数)
.子程序 读取文本其中一行, 文本型
.参数 全部文本, 文本型
.参数 行数, 整数型
.局部变量 暂存分割文本, 文本型, , "0"
暂存分割文本 = 分割文本 (全部文本, #换行符, )
.如果真 (取数组成员数 (暂存分割文本) ≥ 行数 且 取数组成员数 (暂存分割文本) > 0)
返回 (暂存分割文本 [行数])
.如果真结束
返回 (“”)
感激不尽啊!小弟没有钱了,先垫着点。
补充下特征:只显示其中一行歌词。 展开
.版本 2
.子程序 读取当前歌词, 文本型
.参数 歌词文件, 字节集
.局部变量 暂存1, 文本型
.局部变量 暂存2, 文本型
暂存1 = 读取文本其中一行 (到文本 (歌词文件), 歌词位置)
暂存2 = 读取文本其中一行 (到文本 (歌词文件), 歌词位置 + 1)
.如果 (暂存2 = “”)
.如果 (取文本右边 (暂存1, 1) = “]” 且 取文本中间 (暂存1, 取文本长度 (暂存1) - 3, 1) = “:” 且 取文本中间 (暂存1, 取文本长度 (暂存1) - 6, 1) = “:” 且 取文本中间 (暂存1, 取文本长度 (暂存1) - 9, 1) = “[”) ' 只是保险起见搞这么多判断
.如果 (当前时间 ≥ 转化时间2 (取文本中间 (暂存1, 2, 8)) 且 当前时间 < 转化时间2 (取文本中间 (暂存1, 取文本长度 (暂存1) - 8, 8)))
返回 (取文本中间 (暂存1, 11, 取文本长度 (暂存1) - 20))
.否则
歌词位置 = 歌词位置 + 1
.如果结束
.否则
.如果 (当前时间 ≥ 转化时间2 (取文本中间 (暂存1, 2, 8)))
返回 (取文本中间 (暂存1, 11, 取文本长度 (暂存1) - 10))
.否则
歌词位置 = 歌词位置 + 1
.如果结束
.如果结束
.否则
.如果 (取文本右边 (暂存1, 1) = “]” 且 取文本中间 (暂存1, 取文本长度 (暂存1) - 3, 1) = “:” 且 取文本中间 (暂存1, 取文本长度 (暂存1) - 6, 1) = “:” 且 取文本中间 (暂存1, 取文本长度 (暂存1) - 9, 1) = “[”) ' 只是保险起见搞这么多判断
.如果 (当前时间 ≥ 转化时间2 (取文本中间 (暂存1, 2, 8)) 且 当前时间 < 转化时间2 (取文本中间 (暂存1, 取文本长度 (暂存1) - 8, 8)))
返回 (取文本中间 (暂存1, 11, 取文本长度 (暂存1) - 20))
.否则
歌词位置 = 歌词位置 + 1
.如果结束
.否则
.如果 (当前时间 ≥ 转化时间2 (取文本中间 (暂存1, 2, 8)) 且 当前时间 < 转化时间2 (取文本中间 (暂存2, 2, 8)))
返回 (取文本中间 (暂存1, 11, 取文本长度 (暂存1) - 10))
.否则
歌词位置 = 歌词位置 + 1
.如果结束
.如果结束
.如果结束
返回 (“”)
.子程序 转化时间2, 整数型
.参数 输入时间, 文本型
.局部变量 返回输出整数, 整数型
.局部变量 暂存的分割文本, 文本型, , "0"
暂存的分割文本 = 分割文本 (输入时间, “:”, )
.如果 (取数组成员数 (暂存的分割文本) = 3)
返回输出整数 = 到数值 (暂存的分割文本 [1]) × 60 × 60 + 到数值 (暂存的分割文本 [2]) × 60 + 到数值 (暂存的分割文本 [3])
.否则
返回输出整数 = 0
.如果结束
返回 (返回输出整数)
.子程序 读取文本其中一行, 文本型
.参数 全部文本, 文本型
.参数 行数, 整数型
.局部变量 暂存分割文本, 文本型, , "0"
暂存分割文本 = 分割文本 (全部文本, #换行符, )
.如果真 (取数组成员数 (暂存分割文本) ≥ 行数 且 取数组成员数 (暂存分割文本) > 0)
返回 (暂存分割文本 [行数])
.如果真结束
返回 (“”)
感激不尽啊!小弟没有钱了,先垫着点。
补充下特征:只显示其中一行歌词。 展开
金山毒霸
2024-10-31 广告
2024-10-31 广告
电脑在启动游戏或软件的时候,桌面弹出错误提示框“0xc0000094”,应该怎么办?电脑报错,很大可能是因为某些DLL文件出现了异常,比如感染了病毒、DLL文件丢失等。解决方法如下:一、 手动解决方法1、先确定电脑操作系统是多少位的,现在的...
点击进入详情页
本回答由金山毒霸提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询