|
12精币
|
自绘窗口_Accessible定位 | 逻辑型 | | |
原Accessible | 类_Accessible | | | | 表达式 | 文本型 | | | | 定位后Accessible | 类_Accessible | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 子表达式 | 文本型 | | 0 | i | 整数型 | | | command | 文本型 | | | opertor | 文本型 | | | childcount | 整数型 | | | Accessibles | 类_Accessible | | 0 | j | 整数型 | | | found | 逻辑型 | | | Accessible | 类_Accessible | | |
Accessible = 原Accessible 计次循环首 (文本_分割文本 (表达式, “>”, , 子表达式 ), i )opertor = 取文本左边 (子表达式 [i ], 1 )command = 取文本右边 (子表达式 [i ], 取文本长度 (子表达式 [i ]) - 1 )childcount = Accessible. 取子元素总数 ()判断 (opertor = “#”)如果 (取绝对值 (到整数 (command )) > childcount )返回 (假)如果 (到整数 (command ) > 0 )如果真 (Accessible. 取子元素 (到整数 (command ), Accessible ) = 假)返回 (假)如果 (到整数 (command ) < 0 )如果真 (Accessible. 取子元素 (childcount + 到整数 (command ) + 1, Accessible ) = 假)返回 (假)返回 (假)判断 (opertor = “?”)childcount = Accessible. 枚举子元素 (Accessibles )found = 假 计次循环首 (childcount, j )如果真 (内部_解析命令 (command, Accessibles [j ])) Accessible = Accessibles [j ]found = 真 跳出循环 ()计次循环尾 ()如果真 (found = 假)返回 (假)计次循环尾 ()定位后Accessible = Accessible 返回 (真)变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_句柄 | 整数型 | | | Accessible | 类_Accessible | | | 定位后Accessible | 类_Accessible | | | 资产数组 | 类_Accessible | | 0 | 持仓数组 | 类_Accessible | | 0 | 详细信息 | 精易_详细信息 | | | i | 整数型 | | | 表达式 | 文本型 | | | 表达式2 | 文本型 | | | 测速 | 测速 | | | n | 整数型 | | |
局_句柄 = 窗口_取句柄 (, , “Qt5QXXXX”, “XXX软件 V9.0”) 输出调试文本 (“局_句柄=” + 到文本 (局_句柄 )) Accessible. 创建自窗口句柄 (局_句柄 ) 测速. 测速_开始 ()计次循环首 (1, i ) 表达式 = “?t==对话框>?t==客户端>” 表达式2 = 表达式 + “#1>#1>#1>#1>#2>?s==可设定焦点,&t==客户端>#1>#1>#1>#1>#1>#1>#1>#1>#1>#1>#1>”自绘窗口_Accessible定位 (Accessible, 表达式2, 定位后Accessible ) 定位后Accessible. 枚举子元素 (资产数组 ) 输出调试文本 (资产数组 [3 ]. 取名称 ()) 输出调试文本 (资产数组 [6 ]. 取名称 ()) 输出调试文本 (资产数组 [9 ]. 取名称 ()) 输出调试文本 (资产数组 [12 ]. 取名称 ()) 输出调试文本 (资产数组 [15 ]. 取名称 ()) 输出调试文本 (资产数组 [19 ]. 取名称 ()) 表达式 = “?t==对话框>?t==客户端>” 表达式2 = 表达式 + “#1>#1>#1>#1>#2>?s==可设定焦点,&t==客户端>#1>#1>#3>#1>#1>#1>#1>”自绘窗口_Accessible定位 (Accessible, 表达式2, 定位后Accessible ) 定位后Accessible. 枚举子元素 (持仓数组 ) 计次循环首 (取数组下标 (持仓数组, ), n )如果真 (持仓数组 [n ]. 取角色文本 () = “单元格”) 计次循环尾 () 计次循环尾 ()测速. 测速_结束 (“解析耗时”)输出调试文本 (“__________”) |
内部_解析命令 | 逻辑型 | | |
command | 文本型 | | | | Accessible | 类_Accessible | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | k | 整数型 | | | equal | 文本型 | | 0 | contain | 文本型 | | 0 | 详细信息 | 精易_详细信息 | | | child_commands | 文本型 | | 0 |
详细信息 = 自绘窗口_格式化信息 (Accessible )child_commands = 分割文本 (command, “&”, )计次循环首 (取数组成员数 (child_commands ), k )判断 (寻找文本 (child_commands [k ], “==”, , 假) ≠ -1 )equal = 分割文本 (child_commands [k ], “==”, )判断 (equal [1 ] = “n”)如果真 (详细信息.控件名称 ≠ equal [2 ])返回 (假)判断 (equal [1 ] = “s”)如果真 (详细信息.控件状态 ≠ equal [2 ])返回 (假)判断 (equal [1 ] = “t”)如果真 (详细信息.控件类型 ≠ equal [2 ])返回 (假)判断 (equal [1 ] = “id”)如果真 (详细信息.控件ID ≠ equal [2 ])返回 (假)判断 (equal [1 ] = “v”)如果真 (详细信息.控件值 ≠ equal [2 ])返回 (假)返回 (假)判断 (寻找文本 (child_commands [k ], “=”, , 假) ≠ -1 )contain = 分割文本 (child_commands [k ], “=”, )判断 (contain [1 ] = “n”)如果真 (寻找文本 (详细信息.控件名称, contain [2 ], , 假) = -1 )返回 (假)判断 (contain [1 ] = “s”)如果真 (寻找文本 (详细信息.控件状态, contain [2 ], , 假) = -1 )返回 (假)判断 (contain [1 ] = “t”)如果真 (寻找文本 (详细信息.控件类型, contain [2 ], , 假) = -1 )返回 (假)判断 (contain [1 ] = “id”)如果真 (寻找文本 (详细信息.控件ID, contain [2 ], , 假) = -1 )返回 (假)判断 (contain [1 ] = “v”)如果真 (寻找文本 (详细信息.控件值, contain [2 ], , 假) = -1 )返回 (假)返回 (假)计次循环尾 ()返回 (真)
调试输出
* 局_句柄=14224664
* 571.24
* 571.88
* 1352319.73
* 1352890.97
* 10414.69
* 0.78%
* 解析耗时1437
其中前面5个结果耗时200毫秒左右 最后一次持仓数组 250个单元格没有调试输出的情况下耗时1200毫秒 一共耗时1400毫秒,好慢啊。我还是选择了层级后用的枚举,如果每一个都用自绘窗口_格式化信息的话 更慢……
定位层级的源码来自于他 https://bbs.125.la/forum.php?mod ... ighlight=Accessible
另外如果用精易的自绘解析的话 那就接近10秒了……有啥改进(这是备用方案,我不需要成品)
|
|