|
本帖最后由 萧阳天 于 2016-11-11 03:01 编辑
模块版本:精易模块5.36- 2016年8月3日
所用系统:Win7 64
BUG描述:逻辑错误,第一次将起始搜寻位置后的字节集取出后,形成新的字节集,第二次对新的字节集搜寻结束位置,起始位置应该是0才对,而不是传入的起始位置!
我的联系QQ:1073-738178
源码如下:
.版本 2
.子程序 字节集_寻找取中, 字节集, 公开
.参数 要操作的字节集, 字节集
.参数 前面字节集, 字节集
.参数 后面字节集, 字节集
.参数 起始搜寻位置, 整数型, 可空, 可空。1为首位置,2为第2个位置,如此类推,如果被省略,则“寻找字节集”命令默认从首部开始,“倒找字节集”命令默认从尾部开始。
.局部变量 局_字节集, 字节集
.局部变量 局_位置, 整数型
局_位置 = 寻找字节集 (要操作的字节集, 前面字节集, 起始搜寻位置)
.如果真 (局_位置 = -1)
返回 ({ })
.如果真结束
局_字节集 = 取字节集右边 (要操作的字节集, 取字节集长度 (要操作的字节集) - 局_位置 - 取字节集长度 (前面字节集) + 1)
局_位置 = 寻找字节集 (局_字节集, 后面字节集, 起始搜寻位置) #局字节集已经重新被定义覆盖了 你再从起始搜寻位置开始搜就出问题了!!!
.如果真 (局_位置 = -1)
返回 ({ })
.如果真结束
局_字节集 = 取字节集左边 (局_字节集, 局_位置 - 1)
返回 (局_字节集)
正确的应该是:
.版本 2
.子程序 字节集_寻找取中, 字节集, 公开
.参数 要操作的字节集, 字节集
.参数 前面字节集, 字节集
.参数 后面字节集, 字节集
.参数 起始搜寻位置, 整数型, 可空, 可空。1为首位置,2为第2个位置,如此类推,如果被省略,则“寻找字节集”命令默认从首部开始,“倒找字节集”命令默认从尾部开始。
.局部变量 局_字节集, 字节集
.局部变量 局_位置, 整数型
局_位置 = 寻找字节集 (要操作的字节集, 前面字节集, 起始搜寻位置)
.如果真 (局_位置 = -1)
返回 ({ })
.如果真结束
局_字节集 = 取字节集右边 (要操作的字节集, 取字节集长度 (要操作的字节集) - 局_位置 - 取字节集长度 (前面字节集) + 1)
局_位置 = 寻找字节集 (局_字节集, 后面字节集)
.如果真 (局_位置 = -1)
返回 ({ })
.如果真结束
局_字节集 = 取字节集左边 (局_字节集, 局_位置 - 1)
返回 (局_字节集)
|
评分
-
查看全部评分
|