首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

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

2012-02-10 
VFP中如何返回一个数组,并且得到函数返回数组我在函数中定义了一个数组,但是不知道如何返回数组的值,如何

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 

热点排行