自定义函数的问题(版主请进)[已解决]
在自定义函数时,如果想写个带可选参数的函数,那要怎么写?比如 obj_get_text("aa",text,)方括号中一样,怎么写才能有这样效果.
[ 本帖最后由 学会洒脱 于 2008-11-6 13:06 编辑 ] 总结下:TSL语言是否支持自定义函数能够使用可选参数 好象不行的,不过QTP中有人用类解决了可选参数这个问题 用类来解决?是编上DLL吗?怎么解决的呢? Class AddNew
Dim para1,para2,para3
Sub Class_Initialize
para1 = 1
para2 = 2
para3 = 3
End Sub
Sub setPara1(byval para)
para1 = para
End Sub
Sub setPara2(byval para)
para2 = para
End Sub
Sub DoAdd()
msgbox "para1=[" & para1 & "] para2=[" & para2 & "] para3=[" & para3 & "]"
End Sub
End Class
Set Customer = new AddNew
Customer.DoAdd()
Customer.setPara1(111)
Customer.DoAdd()
Customer.setPara2(222)
Customer.DoAdd()
Set Customer = nothing
这个是别人那拷过来的,好象能稍微变向的解决下问题,这个是在QTP中的 仔细看了下.这个MS跟自定义函数...是否允许自定义函数使用可选参数没什么共通性啊....
dabie帮我解释下...谢谢哈.. para好比自定义函数的参数
doadd就好比你要自定义的函数
.setpara为要传递的参数设置其值,需要几个参数就设置几个,这样就有点变向的实现了自定义函数的参数个书可选
设置好参数后用该类方法doadd(自定义函数),这样就基本能实现自定义函数参数可选,但实际应用的时候参数初始值的不同实际达到的效果也各不相同,具体估计要增加很多的判断
这是我个人对这段代码的理解 例:
obj_get_text("aa",text,);获取坐标范围内的text文本
obj_get_text("aa",text);获取aa控件的text文本
同一个obj_get_text函数,根据需要带不同个数的参数.
dabie , 我想要的是写好函数后,某个参数想用就用,想不用就不用,但函数里面肯定是写好的.但就是不知道支持这样的应该怎么写?
谢谢你的关注,你的回答给了我其他方面的参考,谢谢 Class AddNew
Dim obj,text,x1,y1,x2,y2
Sub Class_Initialize
obj = "aa"
text = "text"
x1 = 0
y1=0
x2=0
y2=0
End Sub
Sub setPara1(byval objactual)
obj = objactual
End Sub
Sub setPara2(byval textactual)
text = textactual
End Sub
//x1,x2,y1,y2的设置函数同样写
Sub setx1(byval x1actual)
x1= x1actual
End Sub
Sub DoAdd()
msgbox "obj=[" & obj& "] text=[" & text& "] x1=[" & x1 & "]"
End Sub
End Class
Set Customer = new AddNew
Customer.setPara1("aa")
Customer.setPara2("text")
Customer.DoAdd()
Set Customer = nothing
如果要传x1,x2等则增加
customer.setx1();
customer.setx2()等函数,并在Customer.DoAdd()前设置其值
想用x1,y1等就设置下,不想用就不设置,使用默认的初始值,所以默认的初始值设置是需要考虑的,
不知道这样是否能理解 WR是可以编写带参数的自定义function,但是如果参数不用的话最好赋一个默认值吧 dabie的方法可能有用,但我现在接触QTP不多,理解不深
这两天翻WR的库函数,总算有所收获
在函数里增加以下代码就可以实现自定义函数的功能f (nargs() == 2)
click_offset = LIST_DEFAULT_CLICK_LOCATION;
else if (nargs() != 3)
return(report_param_msg());
这段代码的意思是我想解释下,但发觉小弟我的语言水平太差,怕一解释大家看得更累,还是自己看比较清晰点.
如有什么问题,欢迎跟我讨论...
新建自动化交流群(1361827),欢迎高手加入
[ 本帖最后由 学会洒脱 于 2008-11-6 13:04 编辑 ]
页:
[1]