在VFP中如何将数组传递给自定义函数

自己定义一个自定义函数,想让数组作为参数传递,不知道该如何定义这个参数,数组怎么传递给函数?函数如何接收这个数组?如何将数组作为自定义函数的参数?我定义的这个函数是用来显... 自己定义一个自定义函数,想让数组作为参数传递,不知道该如何定义这个参数,数组怎么传递给函数?函数如何接收这个数组?如何将数组作为自定义函数的参数?
我定义的这个函数是用来显示二维数组的内容,是函数,不是过程,是要用在messagbox("",0+64,"aaa")函数当中的,传递给自定义函数的数组是一个不确定长度的二维数组。
展开
 我来答
凤遊
2008-01-20 · TA获得超过3477个赞
知道大有可为答主
回答量:1139
采纳率:0%
帮助的人:818万
展开全部
看看下面的解释和实例就明白了。

PARAMETERS 命令

将调用程序传来的数据赋值给私有内存变量或数组。

语法

PARAMETERS ParameterList

参数
ParameterList

指定接收数据的内存变量或数组。
“ParameterLis”中的参数应用逗号分隔。PARAMETERS 语句中的参数数目至少应与 DO ... WITH 语句中的参数数目相同。如果 PARAMETERS 语句中所列的变量或数组数目比 DO ... WITH 语句传递的多,剩余的变量或数组就初始化为“假”(.F.)。最多可传递 27 个参数。
PARAMETERS( ) 函数返回传递给最近执行程序的参数数目。

说明

当 PARAMETERS 命令与 DO ... WITH 语句一起使用时,它必须是被调用程序、过程或用户自定义函数中的第一条可执行语句。
默认情况下,DO ... WITH 语句以引用传递方式向过程传递变量和数组。当一个值在被调用过程中更改时,新值传递回调用程序中相关的变量或数组。如果想以值传递方式向一个过程传递变量或数组,在 DO ... WITH 语句的参数列表中用括号把变量或数组括起来,这样,在被调用过程中对参数的任何更改都不传回调用程序。
默认情况下,变量以引用传递方式向过程传递,以值传递方式向一个用户自定义函数传递。使用 SET UDFPARMS TO REFERENCE 命令,能以引用传递方式向用户自定义函数传递变量。

* 下面的示例向一个错误处理例程传递变量。

ON ERROR DO errhand WITH ERROR( ), MESSAGE( ), ;
MESSAGE(1),PROGRAM( ),LINENO( )
USE nodatabase
ON ERROR &&还原系统错误处理例程

PROCEDURE errhand
PARAMETERS gnError, gcMess, gnMess1, gcProg, gnLineNo
? 'Error number: ' + LTRIM(STR(gnError))
? 'Error message: ' + gcMess
? 'Line of code with error: ' + gnMess1
? 'Line number of error: '+ LTRIM(STR(gnLineNo))
? 'Program with error: ' + gcProg

*测试数组传递数据
dimension a(5)
a(1)=5
a(2)=4
a(3)=3
a(4)=6
a(5)=7
? a(1),a(2),a(3),a(4),a(5) &&传递前的数组值
aa=ttt(@a) &&引用函数,在数组前加上@
? aa &&函数的返回值
? a(1),a(2),a(3),a(4),a(5) &&传递后的数组值

func ttt
para b(5)
b(1)=1+b(1)
b(2)=3+b(2)
return "OK"

func 定义的的就是一个函数。你可以在自定义函数或过程中使用数组,但是系统函数并不是都支持数组引用的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式