易语言通过百度ocr接口识别图片记录微信转账金额的代码

时间:2021-05-19

封包编码

.版本 2.程序集 程序集1.子程序 取内容, 文本型.参数 封包, 文本型.局部变量 a, 整数型.局部变量 b, 整数型.局部变量 ls, 文本型.如果真 (寻找文本 (封包, “[]”, , 假) ≠ -1 或 寻找文本 (封包, “head”, , 假) ≠ -1 或 封包 = “”) 输出调试文本 (封包) 返回 (“”).如果真结束a = 寻找文本 (封包, “[”, , 假).如果真 (a ≠ -1) a = a + 2 b = 倒找文本 (封包, “]”, , 假) .如果真 (b ≠ -1) b = b - 1 ls = 取文本中间 (封包, a, b - a) ls = 子文本替换 (ls, #引号 + “,” + #引号, “\u000d\u000a”, , , 真) .如果真结束.如果真结束返回 (asciiConvertNative (ls)).子程序 asciiConvertNative, 文本型, , 将Ucs2码转换为Ansi码 (返回转换后的文本).参数 文本, 文本型, , 欲转换的Ucs2码.局部变量 p, 文本型.局部变量 对象, 对象.局部变量 js, 文本型js = “function asciiConvertNative(s) {” + #换行符 + “var asciicode = s.split(” + #引号 + “\\u” + #引号 + “);” + #换行符 + “var nativeValue = asciicode[0];” + #换行符 + “for (var i = 1; i < asciicode.length; i++) {” + #换行符 + “var code = asciicode[i];” + #换行符 + “nativeValue += String.fromCharCode(parseInt(” + #引号 + “0x” + #引号 + “ + code.substring(0, 4)));” + #换行符 + “if (code.length > 4) {” + #换行符 + “nativeValue += code.substring(4, code.length);” + #换行符 + “}” + #换行符 + “}” + #换行符 + “return nativeValue;” + #换行符 + “}”对象.创建 (“ScriptControl”, )对象.写属性 (“Language”, “JScript”)对象.通用方法 (“Eval”, js)p = 对象.通用方法 (“Run”, “asciiConvertNative”, 文本, , , , ).取文本 ()返回 (p).子程序 彗星URL编码, 文本型, , 返回已编码的URL.参数 Bin_URL, 文本型.局部变量 局部_数据, 字节集.局部变量 i, 整数型.局部变量 ii, 文本型局部_数据 = 到字节集 (Bin_URL).计次循环首 (取字节集长度 (局部_数据), i) .如果 (到整数 (局部_数据 [i]) ≥ 48 且 到整数 (局部_数据 [i]) ≤ 57 或 到整数 (局部_数据 [i]) ≥ 65 且 到整数 (局部_数据 [i]) ≤ 90 或 到整数 (局部_数据 [i]) ≥ 65 且 到整数 (局部_数据 [i]) ≤ 90 或 到整数 (局部_数据 [i]) ≥ 97 且 到整数 (局部_数据 [i]) ≤ 122) ii = ii + 字符 (局部_数据 [i]) .否则 ii = ii + “%” + 取十六进制文本 (局部_数据 [i]) .如果结束.计次循环尾 ()返回 (ii).子程序 Base64编码, 文本型, , BASE64编码处理(返回编码后的文本).参数 待编码数据, 字节集, , 待编码字节集.局部变量 余数.局部变量 临时, 字节型, , "3".局部变量 变量.局部变量 集合, 字节集.局部变量 长度, 整数型.局部变量 字符, 字节集.局部变量 i长度 = 取字节集长度 (待编码数据).如果真 (长度 < 1) 返回 (“”).如果真结束余数 = 长度 % 3.如果真 (余数 > 0) 待编码数据 = 待编码数据 + 取空白字节集 (3 - 余数).如果真结束长度 = 取字节集长度 (待编码数据)字符 = 取空白字节集 (长度 × 4 ÷ 3)i = 1集合 = 到字节集 (“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”).变量循环首 (1, 长度, 3, 变量) 临时 [1] = 待编码数据 [变量] 临时 [2] = 待编码数据 [变量 + 1] 临时 [3] = 待编码数据 [变量 + 2] 字符 [i] = 集合 [右移 (临时 [1], 2) + 1] 字符 [i + 1] = 集合 [左移 (位与 (临时 [1], 3), 4) + 右移 (临时 [2], 4) + 1] 字符 [i + 2] = 集合 [左移 (位与 (临时 [2], 15), 2) + 右移 (临时 [3], 6) + 1] 字符 [i + 3] = 集合 [位与 (临时 [3], 63) + 1] i = i + 4.变量循环尾 ().如果真 (余数 > 0) 长度 = 取字节集长度 (字符) .如果 (余数 = 1) 字符 [长度 - 1] = 取代码 (“=”, ) 字符 [长度] = 取代码 (“=”, ) .否则 字符 [长度] = 取代码 (“=”, ) .如果结束.如果真结束返回 (到文本 (字符))

微信转账记录金额导出数据的代码

此功能需要加载精易模块5.6

.版本 2.支持库 shell.支持库 iext.程序集 窗口程序集_启动窗口.程序集变量 微信句柄, 整数型.程序集变量 阿信, 类_识图.程序集变量 handwork, 整数型.程序集变量 总收入, 整数型.程序集变量 领包回复, 文本型.程序集变量 自动回复, 文本型.子程序 __启动窗口_创建完毕.如果真 (文件是否存在 (取特定目录 (#系统桌面) + “Config.ini”) = 假) 写配置项 (取特定目录 (#系统桌面) + “Config.ini”, “恭喜发财”, “领包回复”, “已确定收款,即将充值”) 写配置项 (取特定目录 (#系统桌面) + “Config.ini”, “恭喜发财”, “自动回复”, “您好,有什么可以帮助您的”).如果真结束' 读取句柄微信句柄 = 进程_名取句柄 (“WeChat.exe”)handwork = GetDesktopWindow ()' 调试输出 (微信句柄).如果真 (微信句柄 = -1) 选择框1.选中 = 假.如果真结束' 读取配置领包回复 = 读配置项 (取特定目录 (#系统桌面) + “Config.ini”, “恭喜发财”, “领包回复”, “已确定收款,即将充值”)自动回复 = 读配置项 (取特定目录 (#系统桌面) + “Config.ini”, “恭喜发财”, “自动回复”, “您好,有什么可以帮助您的”).子程序 百度云OCR识别图片, 文本型, , 论坛大佬转载的帖子 忘记谁了....参数 图片, 字节集, , png、gif、jpg图片,尺寸不宜过大.局部变量 XML对象, 对象.局部变量 源代码, 字节集.如果真 (XML对象.创建 (“Microsoft.XMLHTTP”, ) = 假) 返回 (“”).如果真结束XML对象.方法 (“open”, “POST”, “http://biji.baidu.com/inotes/api/hackathonocr”, 假, )XML对象.方法 (“setRequestHeader”, “Content-Type”, “application/x-www-form-urlencoded”)XML对象.方法 (“send”, “text=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGg&sig=47E%2BgkykZJ8HIncF%2BXugDwalZmI2mtP%2F3jy6nVZNCDUAAAAAAAAAAAAAAAAAAAAA&body=data%3Aimage%2Fpng%3Bbase64%2C” + 彗星URL编码 (Base64编码 (图片)))处理事件 ()返回 (取内容 (XML对象.读文本属性 (“responseText”, ))).子程序 备注识别, , , 备注识别备注识别备注识别.局部变量 返回位置_备注, 精易_坐标.局部变量 区域截图_备注, 字节集.局部变量 返回文本_备注, 文本型.如果真 (选择框2.选中 = 真) ' 首次激活自动回复 剪辑板_置文本 (自动回复) 键盘_组合按键 (#V键, #Ctrl键, , ) 键盘_单击 (#回车键, 1) 处理事件 () 键盘_单击 (#回车键, 1).如果真结束.如果真 (选择框3.选中 = 真) 播放音乐 (#提示音, ).如果真结束' 截图返回位置_备注 = 阿信.找图_从句柄 (, #备注标识, , )区域截图_备注 = 图片_屏幕区域截图 (返回位置_备注.横 + 50, 返回位置_备注.纵 - 15, 180, 30)图片框1.图片 = 区域截图_备注' Ocr识别返回文本_备注 = 百度云OCR识别图片 (区域截图_备注)返回文本_备注 = 子文本替换 (返回文本_备注, “,”, “”, , , 真)返回文本_备注 = 子文本替换 (返回文本_备注, “!”, “”, , , 真)返回文本_备注 = 删全部空 (返回文本_备注)' 调试输出 (返回文本_备注)编辑框1.内容 = 返回文本_备注.子程序 _按钮1_被单击.局部变量 索引, 整数型.局部变量 int, 整数型.局部变量 金额, 整数型.如果真 (编辑框1.内容 ≠ “暂无消息” 且 编辑框2.内容 ≠ “暂无转账”) ' 置剪辑版 .如果 (选择框5.选中 = 真) 剪辑板_置文本 (编辑框1.内容) .否则 剪辑板_置文本 (编辑框1.内容 + “-” + 编辑框2.内容) .如果结束 ' 加入超级列表框 索引 = 超级列表框1.插入表项 (-1, 编辑框1.内容, , , , ) 超级列表框1.置标题 (索引, 1, 编辑框2.内容) 超级列表框1.置标题 (索引, 2, 时间_到文本 (, 3, )) ' 计算总收入 总收入 = 总收入 + 到整数 (编辑框2.内容) 标签4.标题 = “已收转账数:” + 到文本 (超级列表框1.取表项数 ()) + “ | 总金额:” + 到文本 (总收入) 时钟1.时钟周期 = 2000 时钟2.时钟周期 = 6000.如果真结束.子程序 转账识别, , , 转账识别转账识别转账识别.局部变量 区域截图_金额, 字节集.局部变量 返回文本_金额, 文本型.局部变量 返回位置_金额, 精易_坐标.局部变量 确认收钱_位置, 精易_坐标.局部变量 聊天框_坐标, 精易_坐标返回位置_金额 = 阿信.找图_从句柄 (, #转账标识, , )处理事件 ()程序_延时 (200)区域截图_金额 = 图片_屏幕区域截图 (返回位置_金额.横 + 46, 返回位置_金额.纵, 150, 30)' 写到文件 (取特定目录 (#系统桌面) + “1.jpg”, 区域截图)图片框2.图片 = 区域截图_金额返回文本_金额 = 百度云OCR识别图片 (区域截图_金额)程序_延时 (500)' 点击转账鼠标_单击 (handwork, 返回位置_金额.横, 返回位置_金额.纵, 1)' 调试输出 (“返回位置”, 返回位置_金额.纵)处理事件 ()程序_延时 (500)确认收钱_位置 = 阿信.找图_从句柄 (, #确认收钱, , )处理事件 ()程序_延时 (1000)' 调试输出 (“确认收钱”, 确认收钱_位置.横).如果 (确认收钱_位置.横 ≠ -1) ' 点击收钱 鼠标_单击 (handwork, 确认收钱_位置.横, 确认收钱_位置.纵, 1) 程序_延时 (500) 处理事件 () 键盘_单击 (#Esc键, 1) 处理事件 () 程序_延时 (1000).否则 键盘_单击 (#Esc键, 1) 处理事件 () 程序_延时 (1000).如果结束.如果真 (选择框4.选中 = 真) ' 领包回复 聊天框_坐标 = 阿信.找图_从句柄 (, #聊天框, , ) 程序_延时 (500) ' 调试输出 (“聊天框”, 聊天框_坐标.横) 鼠标_单击 (handwork, 聊天框_坐标.横, 聊天框_坐标.纵 + 20, 1) 程序_延时 (500) 剪辑板_置文本 (领包回复) 键盘_组合按键 (#V键, #Ctrl键, , ) 程序_延时 (500) 键盘_单击 (#回车键, 1) 处理事件 ().如果真结束.如果真 (取文本左边 (返回文本_金额, 2) = “00”) 返回文本_金额 = “0.0” + 取文本右边 (返回文本_金额, 1) 编辑框2.内容 = 返回文本_金额 返回 ().如果真结束返回文本_金额 = 取文本左边 (返回文本_金额, 取文本长度 (返回文本_金额) - 2)编辑框2.内容 = 返回文本_金额.子程序 _时钟2_周期事件.局部变量 返回位置_金额, 精易_坐标返回位置_金额 = 阿信.找图_从句柄 (, #转账标识, , ).如果真 (返回位置_金额.横 = -1 且 返回位置_金额.纵 = -1) 编辑框2.内容 = “暂无转账” 返回 ().如果真结束转账识别 ()时钟2.时钟周期 = 0.子程序 _时钟1_周期事件, , , 监控消息识别备注.局部变量 返回位置_消息, 精易_坐标返回位置_消息 = 阿信.找图_从句柄 (, #消息标识, , )' 鼠标_移动 (, 返回位置.横, 返回位置.纵)' 调试输出 (“消息标识符”, 返回位置_消息.横, 返回位置_消息.纵).如果真 (返回位置_消息.横 = -1 且 返回位置_消息.纵 = -1) 返回 ().如果真结束鼠标_单击 (handwork, 返回位置_消息.横, 返回位置_消息.纵, 1)备注识别 ()时钟1.时钟周期 = 0.子程序 _标签3_鼠标左键被放开, 逻辑型.参数 横向位置, 整数型.参数 纵向位置, 整数型.参数 功能键状态, 整数型.局部变量 错误率, 整数型信息框 (“本程序调用百度OCR文字智能识别技术” + #换行符 + “如果识别出现错误,建议备注名中加上空格” + #换行符 + “比如:原备注名为 mx666 则改为 m x 6 6 6”, 0 + #信息图标, “提示:面向未来”).子程序 _时钟3_周期事件.局部变量 微信位置, 精易_矩形.如果真 (微信句柄 = -1) 选择框1.选中 = 假.如果真结束.如果真 (选择框1.选中 = 真) .如果真 (选择框1.选中 = 真) 微信位置 = 窗口_取矩形 (微信句柄) 移动 (微信位置.右边 - 10, 微信位置.顶边 + 24, , ) .如果真结束.如果真结束.子程序 _选择框1_鼠标左键被放开, 逻辑型.参数 横向位置, 整数型.参数 纵向位置, 整数型.参数 功能键状态, 整数型.如果真 (微信句柄 = -1) 选择框1.选中 = 假 信息框 (“检测到您并没有打开微信” + #换行符 + “请先打开微信”, 0, “提示:您好”).如果真结束.子程序 __启动窗口_将被销毁.局部变量 时间, 文本型.局部变量 文件号, 整数型.局部变量 int, 整数型.局部变量 文本, 文本型.如果 (信息框 (“您好” + #换行符 + “是否导出列表框金额相关数据?” + #换行符 + “点击是表示生成配置并导出,否则直接结束”, #是否钮 + #询问图标, “提示:是否导出数据”) = #是钮) 时间 = 到文本 (取现行时间 ()) 写到文件 (取特定目录 (#系统桌面) + 时间 + “.txt”, 到字节集 (“”)) 文件号 = 打开文件 (取特定目录 (#系统桌面) + 时间 + “.txt”, , ) .计次循环首 (超级列表框1.取表项数 (), int) 文本 = 超级列表框1.取标题 (int - 1, 0) + “-” + 超级列表框1.取标题 (int - 1, 1) + “-” + 超级列表框1.取标题 (int - 1, 2) 写文本行 (文件号, 文本) .计次循环尾 () 关闭文件 (文件号).否则 结束 ().如果结束.子程序 _监控消息_被选择.局部变量 time, 整数型.如果真 (监控消息.选中 = 真) 监控消息.选中 = 假 信息框 (“已撤销监控消息”, 0, “提示:成功”) 时钟1.时钟周期 = 0 返回 ().如果真结束.如果真 (监控消息.选中 = 假) 监控消息.选中 = 真 .如果真 (Ms2000.选中 = 真) time = 2000 时钟1.时钟周期 = time 信息框 (“已开启监控消息,” + “时钟周期为” + 到文本 (time), 0, “提示:成功”) 返回 () .如果真结束 .如果真 (Ms3500.选中 = 真) time = 3500 时钟1.时钟周期 = time 信息框 (“已开启监控消息,” + “时钟周期为” + 到文本 (time), 0, “提示:成功”) 返回 () .如果真结束 .如果真 (Ms4900.选中 = 真) time = 4900 时钟1.时钟周期 = time 信息框 (“已开启监控消息,” + “时钟周期为” + 到文本 (time), 0, “提示:成功”) 返回 () .如果真结束.如果真结束.子程序 _Ms3500_被选择Ms3500.选中 = 真Ms2000.选中 = 假Ms4900.选中 = 假时钟1.时钟周期 = 3500.子程序 _监控转账_被选择.局部变量 TIME, 整数型.如果真 (监控转账.选中 = 真) 监控转账.选中 = 假 信息框 (“已撤销监控转账”, 0, “提示:成功”) 时钟2.时钟周期 = 0 返回 ().如果真结束.如果真 (监控转账.选中 = 假) 监控转账.选中 = 真 .如果真 (Ms5000.选中 = 真) TIME = 5000 时钟2.时钟周期 = TIME 信息框 (“已开启监控转账,” + “时钟周期为” + 到文本 (TIME), 0, “提示:成功”) 返回 () .如果真结束 .如果真 (Ms6000.选中 = 真) TIME = 6000 时钟2.时钟周期 = TIME 信息框 (“已开启监控转账,” + “时钟周期为” + 到文本 (TIME), 0, “提示:成功”) 返回 () .如果真结束 .如果真 (Ms7000.选中 = 真) TIME = 7000 时钟2.时钟周期 = TIME 信息框 (“已开启监控转账,” + “时钟周期为” + 到文本 (TIME), 0, “提示:成功”) 返回 () .如果真结束.如果真结束.子程序 _Ms2000_被选择Ms2000.选中 = 真Ms3500.选中 = 假Ms4900.选中 = 假时钟1.时钟周期 = 2000.子程序 _Ms4900_被选择Ms4900.选中 = 真Ms2000.选中 = 假Ms3500.选中 = 假时钟1.时钟周期 = 4900.子程序 _Ms5000_被选择Ms5000.选中 = 真Ms6000.选中 = 假Ms7000.选中 = 假时钟2.时钟周期 = 5000.子程序 _Ms6000_被选择Ms5000.选中 = 假Ms6000.选中 = 真Ms7000.选中 = 假时钟2.时钟周期 = 6000.子程序 _Ms7000_被选择Ms5000.选中 = 假Ms6000.选中 = 假Ms7000.选中 = 真时钟2.时钟周期 = 7000.子程序 _Ms200_被选择Ms200.选中 = 真Ms500.选中 = 假Ms1000.选中 = 假时钟3.时钟周期 = 200.子程序 _Ms500_被选择Ms200.选中 = 假Ms500.选中 = 真Ms1000.选中 = 假时钟3.时钟周期 = 500.子程序 _Ms1000_被选择Ms200.选中 = 假Ms500.选中 = 假Ms1000.选中 = 真时钟3.时钟周期 = 1000

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章