VFP参数传递机制.doc

VFP参数传递机制.doc

ID:57691116

大小:15.00 KB

页数:3页

时间:2020-09-01

VFP参数传递机制.doc_第1页
VFP参数传递机制.doc_第2页
VFP参数传递机制.doc_第3页
资源描述:

《VFP参数传递机制.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、参数传递机制--SETUDFPARMS(VFP)  函数或过程可以接收参数,参数可以是变量或数组元素。按参数传递的方式不同可以分为:按值传递和按引用传递。按值传递只是将值传递给函数或过程,所有对参数值的操作都不会影响保存参数值变量的原值;按引用传递则是将保存参数值变量的地址传递给函数或过程,函数或过程中所有对参数值的操作实际都是对原变量的操作,变量值也将随之变化。默认情况下,VisualFoxPro按值进行参数传递。1.按引用传递参数要按引用传递参数可以通过以下两种方式进行:(1)使用SETUDFPARMS命令的TOREFERENCE子句在调用自定义函数或过程前,可以使用SETUDFPAR

2、MS命令指定参数是按值传递还是按引用传递,其语法结构如下:SETUDFPARMSTOVALUE

3、REFERENCETOVALUE表示按值传递参数,在这种情况下,自定义函数或过程可以修改作为参数的变量值,但是主程序中的变量原值不会改变。TOREFERENCE表示按引用传递,在这种情况下,将把保存参数值变量的地址传递给自定义函数或过程,自定义函数或过程可以修改作为参数的变量值,所做修改也随之反映到主程序中的变量上。下列代码演示了按值传递和按引用传递参数值的区别。nNumber=20SETUDFPARMSTOVALUEListVarValue(nNumber)?"nNumber=",nNumbe

4、r    &&按值传递,nNumber的值应当保持不变,为20SETUDFPARMSTOREFERENCEListVarValue(nNumber)?"nNumber=",nNumber   &&按引用传递,nNumber的值将被ListVarValue过程变为9PROCEDUREListVarValue   LPARAMETERStnNumber    &&接收参数值   tnNumber=9ENDPROC须注意的是,如果使用DOProcedureNameWITHParameterList命令来调用过程,无论SETUDFPARMS如何设置,参数都将按引用传递。(2)使用@标记参数无论SE

5、TUDFPARMS如何设置,如果在函数括号中参数变量的前面加上@标记,表示强制按引用传递,参考下列代码:nNumber=20SETUDFPARMSTOVALUEListVarValue(@nNumber)   &&强制按引用传递?"按引用传递,nNumber的值将被ListVarValue过程改变:",nNumber  &&nNumber被变为9PROCEDUREListVarValue   LPARAMETERStnNumber    &&接收参数值   tnNumber=9ENDPROC2.按值传递按值传递可以按下面的两种方式进行:l  在调用用户自定义函数前,使用SETUDFPARM

6、S命令的TOVALUE子句。l  将变量或数组放在函数名后的括号中,表示强制按值传递。参考下列代码:nNumber=20SETUDFPARMSTOVALUEListVarValue((nNumber))  &&强制按值传递?"nNumber=",nNumber    &&强制按值传递,nNumber的值应当保持不变,为20SETUDFPARMSTOREFERENCEListVarValue((nNumber))?"nNumber=",nNumber   &&强制按值传递,nNumber的值应当保持不变,仍为20PROCEDUREListVarValue   LPARAMETERStnNum

7、ber    &&接收参数值   tnNumber=9ENDPROC从上面代码可以看出,当强制按值传递时,SETUDFPARMS命令设置将无效。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。