当前位置: 代码迷 >> VFP >> VFP中怎么返回一个数组,并且得到函数返回数组
  详细解决方案

VFP中怎么返回一个数组,并且得到函数返回数组

热度:3146   发布时间:2013-02-26 00:00:00.0
VFP中如何返回一个数组,并且得到函数返回数组
我在函数中定义了一个数组,但是不知道如何返回数组的值,如何得到函数返回的数组,VFP中可以实现吗?在这里请教一下大家,下面是一个简单的示例,请大家帮忙改一下

local lcount
lcount="4"
Dime array_b
*******数组array_b得到函数返回的值,但是只得到数组的第一个值(因为函数只返回了数组的第一个值),如果数组的值返回正确,那么数组array_b是否能全部获得数组array_a的值
array_b=文件(Val(allt(lcount))) 
wait_(array_a[2]) &&array_a[2]的仍然是返回数组的第一个值
list memo to C:\123.txt
Function 文件
LPARAMETERS lcount
dime array_a[lcount]
For i=1 to 5
  array_a[i]=i+2
  wait_(array_a[i])
EndFor  
return array_a &&只返回了数组的第一个值, 如何把全部数组的值返回?
ENdfun
retu

也就是说我在这里主要是请教大家三个问题
1.如上列所述,函数“文件”如何返回数组array_a的全部值
2.假如第一个问题解决,那么上列中如何得到函数返回的数组值,列中是否正确
3.函数返回二维数组和一维数组的方法是否一样

------解决方案--------------------------------------------------------
用参数返回数组:
dime x(1)
myfun(@x,a)

function myfun(y,b)

------解决方案--------------------------------------------------------
在 VFP9 中,UDF可以返回数组,但是该数组必需是全局的,例如:

VB code
Function Test    Public array_a[5]    For i=1 To 5        array_a[i]=i+2    Endfor    Return @array_aEndfunc
------解决方案--------------------------------------------------------
给你个例子:

VB code
Dimension array_b(1)文件(4,@array_b)?array_b(1)?array_b(2)?array_b(3)?array_b(4)Function 文件    Lparameters lcount,ltarray_b    Dimension ltarray_b[lcount]    For i=1 To lcount        ltarray_b[i]=i+2    EndforEndfun
  相关解决方案