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
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
相关文章推荐
- QTP脚本编写常用技巧
- 用C语言编写一个函数返回参数二进制中 1 的个数(3种方法)(谷歌笔试题)
- 编写一个函数将一个十六进制数的字符串参数转换成整数返回
- shell脚本中函数调用的返回值,以及退出状态问题
- python调用C动态库导出函数的返回值为指针类型时,在64位python环境下被截断解决方法
- 编写函数判断一个年是否是闰年,是闰年返回ture,不是闰年返回false。
- 用生成器来改写直接返回列表的函数方法
- 个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
- 给你两个有序链表,编写一个函数,把两个链表合并成一个新的有序链表,返回头指针
- 编写一个程序,考察exit函数的使用方法,在程序尚未运行到最后时使用exit函数退出,查看后面的程序
- JavaScript学习总结-技巧、实用函数、简洁方法、编程细节
- 编写一个函数,从标准输入读取一列整数, 把这些值存储在一个动态分配的数组中并返回这个数组。 函数通过观察EOF判断输入列表是否结束。 数组的第一个数是数组包含的值的个数, 它的后面就是这些整数值。
- MSSQL 自定义函数实现类似于 split 方法,返回表
- 编写一个函数将一个十六进制数的字符串参数转换成整数返回
- SecureCRT脚本编写常用函数之WaitForString
- Swift类与结构、存储属性、计算属性、函数与方法、附属脚本等
- 编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间。new(n)表示分配n个字节的内存空间。
- 利用PHP脚本在Linux下用md5函数加密字符串的方法
- 从函数返回一个数组的2种方法 (C专家编程 p230)
- C语言中函数返回字符串的四种方法