afan
发表于 2012-11-18 15:30:27
先解决取到文字再说吧,照道理该窗体ID是不会变的,最多设计成每个页面为单独的ID,翻页测试下~
netegg
发表于 2012-11-18 15:34:20
回复 15# yufei8051
那里面的代码段,用winapi换下,几乎是一样的,不过是用c写的罢了
yufei8051
发表于 2012-11-18 16:05:56
先解决取到文字再说吧,照道理该窗体ID是不会变的,最多设计成每个页面为单独的ID,翻页测试下~
afan 发表于 2012-11-18 15:30 http://www.autoitx.com/images/common/back.gif
超版周末愉快!
从窗口取文字的问题解决了,现在就是不知道怎么从一大堆字符串中取出想要的。
窗口的句柄是会变的,试过了,不过用上面我写的那两句代码可已解决这问题也能正确取出所有字符串。
可否烦请超版根据上面那图给出取相应部分字符串的正则?
正则表达式实在看不懂
yufei8051
发表于 2012-11-18 16:08:15
回复 17# netegg
高手不知低手的菜啊,我这水平只能按别人的例子照猫画虎,那满屏英文几乎是天书
afan
发表于 2012-11-18 16:09:35
回复 18# yufei8051
\V+#include <Array.au3>
Local $Str = _
'从窗口取文字的问题解决了,现在就是不知道怎么从一大堆字符串中取出想要的。' & @CRLF & _
'窗口的句柄是会变的,试过了,不过用上面我写的那两句代码可已解决这问题也能正确取出所有字符串。' & @CRLF & _
'可否烦请超版根据上面那图给出取相应部分字符串的正则?' & @CRLF & _
'正则表达式实在看不懂'
MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, '\V+', 3)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($Test), '其中元素为: ' & $Test)
_ArrayDisplay($Test, UBound($Test))
yufei8051
发表于 2012-11-18 20:27:53
本帖最后由 yufei8051 于 2012-11-18 20:29 编辑
回复yufei8051
\V+
afan 发表于 2012-11-18 16:09 http://www.autoitx.com/images/common/back.gif
谢谢超版关注。
试了一下,用你的例子完全可以实现,但是实际测试时还是不行,因为在实际运行中获取的全部文本,好像没有@CRLF字符的缘故,只能取到指定行的数据,而不是我想要的指定 段 的数据。
如下图,我想要的分别是上面红框中的三段,但实际上当我把数组的值分别取为0--2时取到的是3行,而且每段有多少个字都是不固定的:
afan
发表于 2012-11-18 20:32:30
回复 21# yufei8051
把你捕捉的字符串用【code】形式贴出来不就行了……
yufei8051
发表于 2012-11-18 21:29:56
回复yufei8051
把你捕捉的字符串用【code】形式贴出来不就行了……
afan 发表于 2012-11-18 20:32 http://www.autoitx.com/images/common/back.gif
好的。知道了。
主要是这样直观些。
请问超版是否我引用的方法不对?我直接 $Test这样用的。
afan
发表于 2012-11-18 21:31:41
回复 23# yufei8051
这样是直观,但不具体,不知道如何分行的。引用数组是对的。
yufei8051
发表于 2012-11-18 21:42:46
在三连阴后今天还是收个星星 预计明天
将继续这种小阴小阳的震荡行情
浪上花
★娱乐区★★灌水贴★(禁止使用灌水机
,违者清空积分 ...
设置关注
清除信息
4/4
<11
-
18
21
:
41>
回复 24# afan
这是用信息工具抓取的
yufei8051
发表于 2012-11-18 21:46:55
大白菜6分钱一斤无人问津 多地菜农无奈
弃收 蔬菜价格全面下跌
君临天下2009
★娱乐区★★灌水贴★(禁止使用灌水机
,违者清空积分 ...
设置关注
清除信息
22/22
<11
-
18
21
:
45>
回复 25# yufei8051
这是用
FileWrite(@ScriptDir & '\理想通伴侣.txt', $sWin & @CRLF)
写到文件的
afan
发表于 2012-11-18 21:47:16
回复 25# yufei8051
难道你这个程序一直要窗口信息工具捕捉文本?而且它捕捉到的并非原始格式的,是所有可见控件的文本。
yufei8051
发表于 2012-11-18 21:52:32
不是的,一开始是直接引用控件文本,但如上面所说控件的id老变,所以想改成获取窗体所有文本,再分别提取的办法
yufei8051
发表于 2012-11-18 21:55:21
26楼的就是获取窗体文本的,再写到文件里
yufei8051
发表于 2012-11-18 21:58:17
hWnd = WinGetHandle("","设置关
注")
$sAllstring = WinGetText($hWnd) ;获取所有文本
就是这两句。