您的位置:首页 > 编程语言 > Qt开发

QTP脚本编写技巧 - 从函数中返回多个值的方法

2010-03-22 09:20 513 查看
relevantcodes.com的《Passing Multiple Values from Functions》这篇文章介绍了如何从函数(Function)中返回多个值:
http://relevantcodes.com/passing-multiple-values-from-functions/
 
第一种方法是利用全局变量,因此根本不用返回,只要直接给全局变量赋值即可。
例:
Dim intNumber_1: intNumber_1 = 40
Dim intNumber_2: intNumber_2 = 80
 
Public Sub PassValues
    intNumber_1 = intNumber_1/4
    intNumber_2 = intNumber_2/4
End Sub
 
PassValues
 
MsgBox "intNumber_1 = " & intNumber_1 &_
    vbLf & "intNumber_2 = " & intNumber_2
 
 
第二种方法是用返回一个Dictionary集合的方式来返回多个值。
例:
Public Function PassValues(ByVal Num_1, ByVal Num_2)
    Set oDict = CreateObject( "Scripting.Dictionary" )
 
    With oDict
        .Add "Num_1", Num_1/4
        .Add "Num_2", Num_2/2
    End With
 
    Set PassValues = oDict
End Function
 
Set colNumbers = PassValues(40,80)
 
MsgBox "intNumber_1 = " & colNumbers.Item("Num_1") &_
    vbLf & "intNumber_2 = " & colNumbers.Item("Num_2")
 
 
第三种方法是用返回一个数组的方式来返回多个值。
例:
Public Function PassValues(ByVal Num_1, ByVal Num_2)
    Dim arrArray: ReDim arrArray(2)
 
    arrArray(0) = Num_1/4
    arrArray(1) = Num_2/2
 
    PassValues = arrArray
End Function
 
arrNew = PassValues(40,80)
 
MsgBox "intNumber_1 = " & arrNew(0) &_
    vbLf & "intNumber_2 = " & arrNew(1)
 
 
第四种方法是将需要返回的值连接到一个字符串来返回,这种方法要求接收数据的调用者需要用Split来切割出一个个数据。
例:
Public Function PassValues(ByVal Num_1, ByVal Num_2)
    Num_1 = Num_1/4
    Num_2 = Num_2/2
 
    PassValues = Num_1 & "," & Num_2
End Function
 
sNum = PassValues(40,80)
 
MsgBox "intNumber_1 = " & Split(sNum, ",")(0) &_
    vbLf & "intNumber_2 = " & Split(sNum, ",")(1)
 
 
第五种方法是通过ByRef关键字指定参数为引用,这种方法与用全局变量的方法类似,也是直接修改值,不同返回。
例:
Dim intNumber_1: intNumber_1 = 40
Dim intNumber_2: intNumber_2 = 80
 
Public Sub PassValues(ByRef Num_1, ByRef Num_2)
    Num_1 = Num_1/4
    Num_2 = Num_2/2
End Sub
 
PassValues intNumber_1, intNumber_2
 
MsgBox "intNumber_1 = " & intNumber_1 &_
    vbLf & "intNumber_2 = " & intNumber_2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  脚本 function dictionary
相关文章推荐