function 命令

示例 请参阅

定义一个用户自定义函数。

语法

FUNCTION FunctionName

参数

FunctionName

在 Visual FoxPro 中,函数名最长不超过 254 个字符;在 FoxPro for Windows 和 FoxPro for MS-DOS 中,函数名最长不超过 10 个字符。
在 FoxPro for Macintosh 中,函数名最长不超过 31 个字符;为了把包含 10 个以上字符的程序文件名与具有前 10 个相同字符的函数名区分开,可以把程序文件名用引号括起来,或在程序文件名后加上扩展名。

说明
许多程序中,都要经常重复运行若干例程。把公用例程定义为单独的函数可以减小程序的大小及其复杂性,也有利于程序的维护。
在程序中使用 FUNCTION FunctionName 语句,它指明程序中某个函数的开始,并用名称标识整个函数。
FUNCTION FunctionName 语句之后是组成该函数的一系列 Visual FoxPro 命令,可以使用 RETURN 作为函数的最后一行,但是如果不包含此命令,则自动执行一条隐含的 RETURN 语句。
下一条 FUNCTION 语句或者文件尾指示当前函数的结束。
如果发出 DO 命令时包含某个函数名,Visual FoxPro 将按下列顺序搜索该函数:

  1. Visual FoxPro 在包含 DO 命令的文件中搜索。
  2. 如果在该文件中找不到此函数,Visual FoxPro 将在打开的过程文件中搜索。过程文件可通过 SET PROCEDURE 命令打开。
  3. 如果在打开的过程文件中也找不到此函数,Visual FoxPro 将在执行链 (execution chain) 的各程序中搜索。首先搜索最近一次执行的程序,然后依次搜索,直到最开始执行的程序。
  4. 如果仍未找到函数,Visual FoxPro 将搜索独立的程序。如果能够找到匹配的程序文件,则执行该程序,否则 Visual FoxPro 产生错误信息。

在 DO 命令中,包含 IN 子句可以执行指定文件中的函数。
默认情况下,参数以值传递方式传递给函数。有关以引用传递方式向函数传递参数的详细内容,请参阅 SET UDFPARMS。最多可以向函数传递 27 个参数。