sub main
Dim Result as integer
dim value as string
Window SetContext, "Caption=仓库管理系统 - [进货一览表]", ""
Window SetContext, "Caption=进货一览表;ChildWindow", ""
InputKeys "{F4}"
Window SetContext, "Caption=查询框", ""
InputKeys "{ENTER}"
Result=SQAGetProperty("./","Recognition",value)
'获得当前窗口的类型和标题
'第一个,需要取属性的对象;
'第二个,需要取的属性;
'第三个,用来保存返回的属性值。
'str(value) '返回当前窗口的类型和标题为字符串
If str(value)="Type=Window;Caption=基本查询框" Then
msgbox "sqaPass"
Else
msgbox "sqaFail"
End If
end sub
'结果是sqaFail,"Type=Window;Caption=基本查询框"是按F3后的结果,而脚本中是按的是F4,SQAGetProperty("./","Recognition",value)的应用(更正)
对我上次发的帖子,我真的是很遗憾,因为出了点错误,在此我给出了解决的方法,希望大家原谅!
下面是出了问题的例子:
sub main
Dim Result as integer
dim value as string
Window SetContext, "Caption=仓库管理系统 - [收货一览表]", ""
Window SetContext, "Caption=收货一览表;ChildWindow", ""
InputKeys "{F4}"
'按F4后弹出查询框,即下面的窗口
Window SetContext, "Caption=查询框", ""
Result=SQAGetProperty("CurrentWindow","Recognition",value)
msgbox str(value)
end sub
得到的结果是:"Type=Window;Caption=查询框" ,和预期的结果一样正确
下面将 Window SetContext, "Caption=查询框", "" 屏蔽掉,不运行这行语句
预期的结果是:和上次的一样,因为按了F4后查询框还是会出来,
但很遗憾,结果是:"Type=Window;Caption=收货一览表",
是查询框的父窗口,问题就出来了,即没有真实的反映当前的窗口。
下面是解决的办法:
把参数 "./" 改为 "CurrentWindow",
即 Result=SQAGetProperty("CurrentWindow","Recognition",value)
我试了几次了,没有上述的问题,可以正确的反映当前窗口。
以后不敢马虎了,再次向各位朋友深表歉意!!