|
发表于 2019-3-4 11:16:33
|
显示全部楼层
江西省九江市
- .版本 2
- .子程序 寻找文本_极速, 整数型, 公开, 返回一个整数值,指定一文本在另一文本中最先出现的位置(区分大小写),位置值从 1 开始。如果未找到,返回-1。本命令为初级命令。
- .参数 被搜寻的文本, 文本型
- .参数 欲寻找的文本, 文本型
- .参数 起始寻找位置, 整数型, 可空, 注明:位置值从 1 开始。如果本参数被省略,默认为 1 。
- .参数 不区分大写, 逻辑型, 可空, 初始值为“假”。为真不区分大小写,为假区分。
- .局部变量 返回值, 整数型
- .局部变量 被搜寻的文本指针, 整数型
- .局部变量 新文本, 文本型
- .局部变量 len, 整数型
- .如果真 (被搜寻的文本 = “”) ' 防止传入未初始化变量 导致指针为0 程序崩溃
- 返回 (-1)
- .如果真结束
- .如果真 (欲寻找的文本 = “”)
- 返回 (1)
- .如果真结束
- 被搜寻的文本指针 = 取文本型指针_asm (被搜寻的文本)
- .如果真 (起始寻找位置 > 0)
- 起始寻找位置 = 起始寻找位置 - 1
- .如果真结束
- .判断开始 (不区分大写)
- len = 文本_strlen2 (被搜寻的文本)
- 新文本 = 取空白文本_asm (len)
- _复制内存_str (新文本, 被搜寻的文本指针, len)
- 被搜寻的文本指针 = 取文本型指针_asm (新文本)
- 返回值 = _寻找文本_strstr2 (_strupr2 (被搜寻的文本指针 + 起始寻找位置), 到大写2 (欲寻找的文本))
- ' 新文本 = 被搜寻的文本
- ' 被搜寻的文本指针 = 取文本型指针_asm (新文本)
- ' 返回值 = _寻找文本_strstr2 (_strupr2 (被搜寻的文本指针 + 起始寻找位置), 到大写2 (欲寻找的文本))
- .默认
- 返回值 = _寻找文本_strstr (被搜寻的文本指针 + 起始寻找位置, 欲寻找的文本)
- .判断结束
- .如果真 (返回值 = 0)
- 返回 (-1)
- .如果真结束
- 返回 (返回值 - 被搜寻的文本指针 + 1)
复制代码
|
|