如何比较两个function取出的值?
我写了两个function函数,function1取了A、B、C三个值,function1取了e、f、g三个值,请教下如何对A、B、C和e、f、g进行比较? 没明白楼主的意思这些值是传入参数,还是返回的参数 回复 2# sspku返回的值啊,就是写了个函数,取了A\B\C三个值,这三个值需要拿出来与其他函数的值比较
可以返回多个值吗?(不用数组) 目的是什么 回复 4# msnshow
就把两个函数的返回值拿出来作比较,我发现在QTP中,返回的数组有个问题想请教一下,例如
main ()
{
dim var_value(1)
dim i
var_value = A
FORi = 0 to1
msgboxvar_value(i) /为什么这样子写会提示类型不匹配呢,而如果换成
Next /msgboxvar_value(0)msgboxvar_value(1)这样
} / 写就可以呢?这样单独写不利于调用返回的数组的啊
function A()
{
dim value(1)
value(0)=a
value(1)=b
A=value /返回一个数组
} 回复 4# msnshow
就把两个函数的返回值拿出来作比较,我发现在QTP中,返回的数组有个问题想请教一下,例如
main ()
{
dim var_value(1)
dim i
var_value = A
FORi = 0 to1
msgboxvar_value(i) /为什么这样子写会提示类型不匹配呢,而如果换成
Next /msgboxvar_value(0)msgboxvar_value(1)这样
} / 写就可以呢?这样单独写不利于调用返回的数组的啊
function A()
{
dim value(1)
value(0)=a
value(1)=b
A=value /返回一个数组
} 回复 4# msnshow
就把两个函数的返回值拿出来作比较,我发现在QTP中,返回的数组有个问题想请教一下,例如
main ()
{
dim var_value(1)
dim i
var_value = A
FORi = 0 to1
msgboxvar_value(i) /为什么这样子写会提示类型不匹配呢,而如果换成
Next /msgboxvar_value(0)msgboxvar_value(1)这样
} / 写就可以呢?这样单独写不利于调用返回的数组的啊
function A()
{
dim value(1)
value(0)=a
value(1)=b
A=value /返回一个数组
} 回复 4# msnshow
就把两个函数的返回值拿出来作比较,我发现在QTP中,返回的数组有个问题想请教一下,例如
main ()
{
dim var_value(1)
dim i
var_value = A
FORi = 0 to1
msgboxvar_value(i) /为什么这样子写会提示类型不匹配呢,而如果换成
Next /msgboxvar_value(0)msgboxvar_value(1)这样
} / 写就可以呢?这样单独写不利于调用返回的数组的啊
function A()
{
dim value(1)
value(0)=a
value(1)=b
A=value /返回一个数组
} dim var_value
dim i
var_value = A
FORi = 0 to1
msgboxvar_value(i)
Next
Publicfunction A()
dim value(1)
value(0)="a"
value(1)="b"
A=value
End Function
这段代码可以运行的 回复 9# xieyang702
谢谢,在QTP中好像不行的我再查查什么原因 楼主,QTP好像不支持C语言啊。。 本帖最后由 kavensyw 于 2010-10-29 19:13 编辑
用Dicitionary Object返回值
简单示意如下
Dim oDic1,odic2
Set oDic1 = CreateObject("Scripting.Dictionary")
Set oDic2 = CreateObject("Scripting.Dictionary")
Call GetData1(oDic1)
Call GetData2(oDic2)
oItems1 = oDic1.Items
oItems2 = oDic2.Items
'假定两边数量一致
'循环比较,去掉了左右空格
For i=0 To oDic1.Count-1
If Trim(oItems1(i))<>Trim(oItems2(i)) Then
MsgBox "两边值不等:位置"&(i+1)&vbCrLf _
&"左边-"&oItems1(i)&vbCrLf _
&"右边-"&oItems2(i)
End If
Next
oDic1.RemoveAll
oDic2.RemoveAll
Set oDic1 =Nothing
Set oDic2 =Nothing
'Key存放a,b,c
'value存放e,f,g
Function GetData1(oDic)
Dim a,b,c
'Example
a=1:b=2:c=3
oDic.Add 1,a
oDic.Add 2,b
oDic.Add 3,c
End Function
Function GetData2(oDic)
Dim e,f,g
'Example
e=1:f=555:g=3
oDic.Add 1,e
oDic.Add 2,f
oDic.Add 3,g
End Function QTP支持的 VBS 回复 12# kavensyw
谢谢! 本帖最后由 xieyang702 于 2010-11-4 12:15 编辑
可以的呀,我就是在QTP里调试正确的啊
:o
运行前你需 勾选 vb 插件 1.返回数组
2.返回三个值的连接字符串
写个比较函数传两数组或俩字符串 为什么不用VBS支持的StrComp方法呢,省时省力!
页:
[1]