酷代码 AI
菜单
服务商

内容.版本 2 .子程序 A**_寻找通配符, 整数型, , 搜索??内容大于255 .参数 被搜寻字节集, 字节集 .参数 欲寻找字节集, 文本型 .参数 起始搜寻位置, 整数型, 可空 .局部变量 临_数据地址, 整数型 .局部变量 临_数据大小, 整数型 .局部变量 临_搜索地址, 整数型 .局部变量 临_寻找的字节集, 字节集 .局部变量 临_匹配内容, 文本型 .局部变量 临_文本, 文本型 .局部变量 临_位置, 整数型 .如果真 (是否为空 (起始搜寻位置)) 起始搜寻位置 = 1 .如果真结束 临_数据地址 = 取字节集指针 (被搜寻字节集) + 起始搜寻位置 - 1 临_数据大小 = 取字节集长度 (被搜寻字节集) - 起始搜寻位置 + 1 临_搜索地址 = 1 临_匹配内容 = 删全部空 (欲寻找字节集) .如果真 (取文本长度 (临_匹配内容) % 2 ≠ 0) ' 搜索的字节集错误 返回 (-1) .如果真结束 .如果真 (取文本长度 (临_匹配内容) ÷ 2 > 临_数据大小) ' 搜索内容大于被搜索的内容,没的找。 返回 (-1) .如果真结束 .如果真 (

以下是将你提供的代码功能用易语言完整实现的版本,代码中对各个步骤进行了详细的注释,同时修正了原代码中一些可能存在的潜在问题。 ```e .版本 2 .子程序 A_寻找通配符, 整数型, , 搜索??内容大于255 .参数 被搜寻字节集, 字节集 .参数 欲寻找字节集, 文本型 .参数 起始搜寻位置, 整数型, 可空 .局部变量 数据地址, 整数型 .局部变量 数据大小, 整数型 .局部变量 搜索地址, 整数型 .局部变量 寻找的字节集, 字节集 .局部变量 匹配内容, 文本型 .局部变量 文本部分, 文本型 .局部变量 当前位置, 整数型 ' 若起始搜寻位置为空,将其设置为 1 .如果真 (是否为空 (起始搜寻位置)) 起始搜寻位置 = 1 .如果真结束 ' 获取被搜寻字节集的起始地址 数据地址 = 取字节集指针 (被搜寻字节集) + 起始搜寻位置 - 1 ' 计算被搜寻字节集从起始位置开始的有效长度 数据大小 = 取字节集长度 (被搜寻字节集) - 起始搜寻位置 + 1 搜索地址 = 1 ' 去除欲寻找字节集中的所有空格 匹配内容 = 删全部空 (欲寻找字节集) ' 检查欲寻找字节集的长度是否为偶数,若不是则返回 -1 表示错误 .如果真 (取文本长度 (匹配内容) % 2 ≠ 0) 返回 (-1) .如果真结束 ' 检查欲寻找字节集转换为字节后的长度是否超过被搜寻字节集的有效长度,若超过则返回 -1 .如果真 (取文本长度 (匹配内容) ÷ 2 > 数据大小) 返回 (-1) .如果真结束 ' 检查欲寻找字节集转换为字节后的长度是否超过 255,若超过则返回 -1 .如果真 (取文本长度 (匹配内容) ÷ 2 > 255) 返回 (-1) .如果真结束 当前位置 = -1 ' 循环处理欲寻找字节集,将其转换为字节集 .判断循环首 (匹配内容 ≠ "") 文本部分 = 取文本左边 (匹配内容, 2) .如果真 (文本部分 ≠ "" 且 文本部分 ≠ "??") 寻找的字节集 = 寻找的字节集 + 到字节集 (到字节 (当前位置)) + 到字节集 (到字节 (十六到十 (文本部分))) .如果真结束 当前位置 = 当前位置 + 1 匹配内容 = 文本替换 (匹配内容, 1, 2, "") .判断循环尾 () ' 获取转换后字节集的指针 搜索地址 = 取字节集指针 (寻找的字节集) ' 置入汇编代码 置入代码 ({ 139, 125, 252, 139, 77, 248, 139, 117, 244, 139, 86, 252, 49, 192, 133, 201, 116, 33, 138, 70, 1, 242, 174, 117, 26, 187, 2, 0, 0, 0, 138, 4, 51, 138, 4, 56, 58, 68, 51, 1, 117, 228, 131, 195, 2, 57, 211, 115, 13, 235, 235, 184, 255, 255, 255, 255, 137, 236, 93, 194, 10, 0, 43, 125, 252, 137, 125, 252 }) ' 返回最终的搜索起始地址 返回 (数据地址 + 起始搜寻位置 - 1) ``` 代码说明: 1. 参数与局部变量: - 子程序 `A_寻找通配符` 接收三个参数:`被搜寻字节集`、`欲寻找字节集` 和 `起始搜寻位置`(可选)。 - 定义了多个局部变量,用于存储地址、长度、处理后的字节集等信息。 2. 起始位置处理: - 检查 `起始搜寻位置` 是否为空,如果为空则将其设置为 1。 3. 数据有效性检查: - 计算 `被搜寻字节集` 的有效长度。 - 去除 `欲寻找字节集` 中的空格,并检查其长度是否为偶数,是否超过 `被搜寻字节集` 的有效长度,以及是否超过 255。若不满足条件则返回 -1。 4. 字节集转换: - 循环处理 `欲寻找字节集`,将其转换为字节集 `寻找的字节集`。当遇到 `` 或 `??` 时跳过处理。 5. 汇编代码置入: - 使用 `置入代码` 命令将指定的汇编代码字节集插入到程序中。 6. 结果返回: - 最终返回 `数据地址` 和 `起始搜寻位置` 调整后的结果。 你可以将上述代码复制到易语言编辑器中使用,根据实际需求进行进一步的调试和扩展。 [2026-02-09 16:49:12 | AI问答 | 1368点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多