51Testing软件测试论坛

标题: VBS的函数如何设置多个返回值? [打印本页]

作者: wshyzhywx    时间: 2010-3-10 14:26
标题: VBS的函数如何设置多个返回值?
如题!!   我现在拿多个返回值是吧所有的返回值用个符号给分割开 然后拿出来再处理字符串的。。  这么多MS有点弱智。。  哪位知道如何更好地办法么。。。  谢谢指教。。
作者: zzxxbb112    时间: 2010-3-10 16:08
1.返回数组
2.使用dictionary对象来保存并返回(推荐)
作者: wshyzhywx    时间: 2010-3-10 18:58
标题: 回复 2# 的帖子
能否举例说明 谢谢。。。。  
作者: feiyunkai    时间: 2010-3-11 15:02
标题: 一种简单的方法如下:
Function   b()   
b=split("a,b,c,d,e,f" ,",")
End   Function  
'以上函数返回数组b,但是引用数组元素不能直接引用,而要以以下方式引用:b()(i) 其中i是数组的下标,如果要循环输出这个数组,那么代码如下
for i=0 to 5
msgbox b()(i)
next
'或
for i=0 to 5
print (b()(i))
next

[ 本帖最后由 feiyunkai 于 2010-3-11 15:07 编辑 ]
作者: skyzhu    时间: 2010-3-11 15:13
上面的办法都可以
还有个怪办法:可以对传进来的值赋值,就能把值带出去了,递归时千万别用
a=1
b=2
test 8,a,b
Function test(q,w,e)
    w = 3
    e = 4
End Function

MsgBox a
MsgBox b
作者: May_may    时间: 2010-3-11 16:48
我觉得用2楼说的dictionary蛮好用的
作者: wshyzhywx    时间: 2010-3-12 16:43
我想知道怎么用dictionary来传。。。
作者: May_may    时间: 2010-3-12 17:02
dictionary相当于动态数组
Set oDic=Createobject("scripting.Dictionary")
oDic.Add 1,"a"
oDic.Add 2,"b"
上面是写入oDic的
读出来就是
oDic(1)结果就是a
作者: ermine    时间: 2010-3-12 17:33
标题: 返回字典对象
Function test()
Set dic=CreateObject("scripting.dictionary")
dic.Add "first",1
dic.Add "second",2
Set test=dic
Set dic=nothing
End Function

'调用函数
Set x=test()
MsgBox x.item("first")
MsgBox x.item("second")
Set x=nothing
作者: JonnyGu    时间: 2010-3-15 15:55
感觉楼主的方法挺好的,用dictionary的话不就等于再把结果处理了一遍啊。。。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2