yufei8051 发表于 2012-11-7 16:26:21

(已解决)类别名和高级模式(类)的数值经常变化,像 'ID1032'”这样的控件怎么使用啊?

本帖最后由 yufei8051 于 2012-11-9 16:57 编辑

知道了。加上中括号,例:
ControlSetText( "网上股票交易系统5.0" , "", "", "这里是设置的文本" )

=================================================================================
如下图所示,我想使用 ID 1032 当控件识别,怎么用呢?
在 ControlSetText("", "", "Edit1", "这里是设置的文本" )
中,“类别名:Edit1”   经常变化使用出错,“高级模式(类):”也一样,唯独“ID: 1032”这一部分是不变的。
可是在上面的函数中怎么用呢?直接写 1032 不行,加上引号 "1032"也不行啊?
像:
ControlSetText( "网上股票交易系统5.0" , "", 1032, "这里是设置的文本" )
ControlSetText( "网上股票交易系统5.0" , "", "1032", "这里是设置的文本" )
都不行啊?
请高手指点一下,不胜感谢!

骗子 发表于 2012-11-7 17:15:37

类别名
高级模式

两个二选一

131738 发表于 2012-11-7 17:52:20

本帖最后由 131738 于 2012-11-7 17:56 编辑

看不出 "" 在这里是什么?,试试:
ControlSetText("网上股票交易系统5.0" , "", 1032, "填入的代码")

yufei8051 发表于 2012-11-7 18:37:06

谢谢楼上两位回复!
楼上的,一楼那个例子是随便找的,我写的跟你的一模一样,不行的。
二楼的,你说的那两个经常会变,例如这次打开软件是edit1,下次打开就变成edit7了,高级的那个也是一样,只有这个id 1032 每次都是一样的。所以想它就稳定了。

annybaby 发表于 2012-11-7 18:47:05

回复 1# yufei8051

你上面的软件,类名明显不是"",所以不行
直接用标题吧,虽然AU3允许使用类名代替标题,但不表示这种方法更好,或者显得更高明些~
    其实你用记事本试一下就知道控件ID的用法了~~
主要有两种:
第一.直接使用,看函数本身的用法解释就知道;
第二.用引号(单引或者双引)引起来,如:''(不区分大小写)

annybaby 发表于 2012-11-7 18:47:41

回复 1# yufei8051

你上面的软件,类名明显不是"",所以不行
直接用标题吧,虽然AU3允许使用类名代替标题,但不表示这种方法更好,或者显得更高明些~
    其实你用记事本试一下就知道控件ID的用法了~~
主要有两种:
第一.直接使用,看函数本身的用法解释就知道;
第二.用引号(单引或者双引)引起来,如:''(不区分大小写)

yufei8051 发表于 2012-11-7 20:32:31

ControlSetText("网上股票交易系统5.0" , "", 1032, "填入的代码")
ControlSetText("网上股票交易系统5.0" , "", ”1032”, "填入的代码")
这两种写法都不行。

annybaby 发表于 2012-11-7 23:31:20

回复 7# yufei8051

看5楼~~~~~~

zyq0ting 发表于 2012-11-8 08:56:04

还是用坐标吧 坐标总不会变吧

zyq0ting 发表于 2012-11-8 08:56:07

还是用坐标吧 坐标总不会变吧

yufei8051 发表于 2012-11-8 10:47:44

回复yufei8051

你上面的软件,类名明显不是"",所以不行
直接用标题吧,虽然AU3允许使用 ...
annybaby 发表于 2012-11-7 18:47 http://www.autoitx.com/images/common/back.gif


    太感谢了!
第二.用引号(单引或者双引)引起来,如:''(不区分大小写)
用这种方式成功!
好人一生平安!再次谢谢!

annybaby 发表于 2012-11-8 11:33:40

回复 11# yufei8051


   不用客气,论坛本来就是让大家相互学习讨论的地方,其他路过的前辈朋友不解答,不表示他们不会,可能只是问题太简单了,觉得直接看文档就可以解决~~
比如说,你本帖主要是想学习ID的用法,你可以先用记事本来测试,如下:
ControlSetText('无标题','',15,'annybaby')
ControlSetText('无标题','','','annybaby')
ControlSetText('无标题','','Edit1','annybaby')
ControlSetText('无标题','','','annybaby')

然后,你会发觉,上面的几种方法都是可以的,然后再变通一下,将里面的ID,Edit1,CLASS,INSTANCE等改变一下,测试可知,ID,CLASS,INSTANCE等变成小写后依然有效,而"Edit1"改成"edit1"后就无效,可知用类别名作为参数时,是区分大小写的,而类名则不区分

举一反三:
上面的测试可以帮助理解ID的用法,然而,如果在其它程序测试无效时,不表示你的用法错了,可能是软件的作者不允许后台操作等,比如加入类似的
If WinActive('你要操作的窗口标题或者句柄') Then
        ;do something
EndIf

那么,诸如ControlClick()之类的,你后台点击自然就失效了

yufei8051 发表于 2012-11-8 18:02:35

回复 12# annybaby


    谢谢你的回复。
请问为什么有的文本框用"‘作为控件id不行?只能使用"Edit7"或??
不行的意思是使用
ControlSetText($wsgpjyxt, "","", "1034")
时,文本框里面的字根本不变化,字符输入不进去。用"Edit7"或
却正常。

ControlSnd一样。

yufei8051 发表于 2012-11-8 18:04:09

还是用坐标吧 坐标总不会变吧
zyq0ting 发表于 2012-11-8 08:56 http://www.autoitx.com/images/common/back.gif


    我要输入字符串啊,坐标的怎么用?可否详细的说说啊

yufei8051 发表于 2012-11-8 21:33:43

买入界面,
代码,价格,数量的类别名和id分别是
edit1,edit2,edit3
1032.   1033.   1034
卖出界面分别是
edit7,edit8,edit9
1032.1033.   1034

名称都是1036
页: [1] 2
查看完整版本: (已解决)类别名和高级模式(类)的数值经常变化,像 'ID1032'”这样的控件怎么使用啊?