第五课 511遇见易语言大漠找字FindStrE FindStrFastE系列
小知识:为了保险 可以在窗口销毁事件 再加一重 窗口解绑的命令 免得忘记解绑或者中间出现异常导致的问题
小知识:常见的找字命令 和选择
-
易语言不要用 findstr findstrfast 因为这2个函数需要intX intY 这2个变量是指针变量 适合用于按键精灵 不适合易语言
-
易语言实用 findStrE findStrFastE findStrFastEx
-
findStrE是找一个符合要求的 但是如果字库太大 相似度太低 速度会很慢 为了解决速度问题
-
findStrFastE 这个速度很快 但是可能会找错 或者误判
-
findStrFastEx 是找到整个范围内所有符合要求的 返回一串坐标字符串
小知识:易语言函数如何返回数组 因为这些函数都是返回是否找到信息 和紧跟着的两个坐标参数 不是单纯返回一个数值 所以考虑用数组
方法1:
核心思路:既然无法直接返回一个数组 我们可以把这个数组扔进一个自定义类型的变量里面 返回这个自定义类型的变量是可以的 然后对这个自定义类型变量分开找到数组即可
自定义类型变量
要返回 自定义类型的函数结构
调用的代码
方法2:函数返回还是返回1个正常变量 但是 该函数有一个数组参数 函数会对这个参数数组进行修改来反馈信息(推荐 也是大多数模块实用的办法)
本节课的找字的例子
知识:总结下本节课的知识点 来写出一个自己的找字函数
这个函数的核心思想
-
首先 把找字需要的7个参数 写入到1个数组 做成 该字的一个特征数组 注意这个数组参数必须都是文本
-
然后把这个数组传递进找字的函数里面 先接收数组里面的参数 并且把类型转换回要求的类型 注意这个找字函数的第二个参数数组 用于接收找字结果的坐标和id 而且是地址传参的形式 易语言下成为参考
-
然后把接收转换好类型的参数写入到findstrE 里面开始找字
-
后面就是判断找字的结果字符串 如果为-1 那么找字结果数组1-3个元素都为-1 如果大于-1 则找字结果数组 元素1为id 元素2 为横坐标 3为纵坐标