标题: 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的话不就等于再把结果处理了一遍啊。。。