- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VFP第十讲
FoxPro第十讲 程序设计(二) 过程与自定义函数 内存变量属性 宏替换 过程的调用 DO 命令 执行一个 Visual FoxPro 程序或过程。 格式: DO 过程名/程序名 [IN 过程文件名] [WITH 参数列表] 过程的调用 如果省略 IN 子句,FoxPro按照下面顺序寻找过程: 当前执行的程序中 用 SET PROCEDURE 打开的过程文件中 SET PROCEDURE 命令 打开过程文件 命令格式: SET PROCEDURE TO [文件名1 [, 文件名2, ...]] [ADDITIVE] 不带任何文件名的SET PROCEDURE TO 的命令关闭所有打开的过程文件 ADDITIVE 在不关闭当前已打开的过程文件的情况下打开其他过程文件。 过程 过程格式 PROCEDURE 过程名 [PARAMETERS 参数列表] 语句组 RETURN [表达式/TO 程序名/TO MASTER] PARAMETERS命令 将调用程序用WITH传来的数据赋值给私有内存变量或数组 格式: PARAMETERS 参数1,参数2… 参数的数目至少要和调用时传递的参数数相同,如果比传递进来的参数多,则剩余的变量或数组就初始化为“假”(.F.) 最多可以传递27个参数。 必须是第一条可执行语句。 参数的传递方式 参数按传递的方式分为: 值传递方式: 当一个值在被调用过程中更改时,新值不传回,调用程序中相关的变量或数组的值不变 引用传递方式 当一个值在被调用过程中更改时,新值传递回调用程序中相关的变量或数组 默认情况下,变量以引用传递方式向过程传递。在 DO ... WITH 语句的参数列表中用括号把变量或数组括起来,将按值方式传递。 RETURN 命令 将程序控制返回给调用程序 语句格式: RETURN [表达式][TO 程序名/TO MASTER] 表达式: 指定返回给调用程序的表达式,省略返回表达式,则自动将“真”(.T.) 返回 TO 程序名: 将控制返回给指定过程 RETURN 命令 TO MASTER 将控制返回给最高层次的调用程序 过程举例 DO proc1 WITH 32 PROCEDURE PROC1 PARAMETERS r Pi = 3.14 ?Pi * r ^ 2 return 用户自定义函数(UDF) 定义格式: FUNCTION 函数名 [PARAMETERS 参数列表] 语句组 RETURN [表达式/TO 程序名/TO MASTER] 函数的参数 默认情况下,以值传递方式向用户自定义函数传递参数。 用 SET UDFPARMS TO REFERENCE 命令以引用传递方式向用户自定义函数传递变量。 强制指定: (变量):值方式传递 @变量:引用方式传递 UDF举例 ?func1(33) FUNCTION func1 PARAMETERS r Pi = 3.14 RETURN Pi * r ^ 2 内存变量属性 分为PUBLIC、PRIVATE和LOCAL PUBLIC 在所有程序中都可以访问的变量。 PRIVATE 在本程序和下级程序中可以使用的变量。 LOCAL 只能在当前程序中访问的变量。 PUBLIC 命令 定义全局内存变量或数组。 语句格式: PUBLIC 变量1,变量2... 或: PUBLIC ARRAY 数组1(行[,列]),数组2(行[,列])... PUBLIC 命令 用 PUBLIC 命令创建的内存变量和数组都初始化为“假”(.F.) 在命令窗口中创建的任何内存变量或数组都自动设置为公有 任何想要声明为公共的内存变量或数组,必须在赋值之前把它声明为公有 已经说明的变量,再用 PUBLIC 把它声明为公共,Visual FoxPro 将会产生语法错误 PRIVATE 命令 定义私有变量,可以在定义它的程序及下级程序中访问。自动隐藏同名的全局变量。 语句格式 PRIVATE 变量列表/ARRAY 数组列表 或: PRIVATE ALL LIKE/ALL EXCEPT 统配符 LOCAL 命令 创建局部内存变量和内存变量数组 局部内存变量和内存变量数组只能在创建它们的过程或函数中使用和更改,不能被高层或低层程序访问。 注意:不能缩写 LOCAL,因为 LOCAL 和 LOCATE 的前四个字母相同。 语句格式: LOCAL 内存变量表/ARRAY 数组名表 区域变量 与LOCAL变量相似,区域变量只能在某一区域里被访问。 语句格式: #REGION 区号 REGIONAL 变量名列表 VFP 3.0允许指定31个区。 宏替换 宏替换把内存变量和数组元素中的内容当作原文。 宏替换语句格式: 变量/表达式 宏替换举例 N = 1 FOR N = 1 TO 4 D
文档评论(0)