6、表格函数
EOF() end of file 当到达文件末尾时,返回真。指针指向最后一条记录的末尾。
在循环中,常用语句:WHILE NOT EOF() 意思是指当在表中循环时,NOT EOF()条件成立,执行对数据的操作。
BOF() 在文件头,返回真,否则为假。指针指向第一条记录。
RECNO() 表中记录的位置 RECCOUNT() 表记录的个数。 DELETED() 测试该记录是否被逻辑删除。
逻辑删除语句:DELETE FOR 条件
五、程序
程序:一组命令
1、程序文件的建立、修改和执行
MODIFY COMMAND创建或修改程
21
序。保存成.prg文件
用DO 程序文件名 命令来执行程序。 注意:创建或修改程序后,必须要执行一遍。
用*号可以进行语句注释,但该语句必须单独一行。
用&&可以在语句的末尾进行注释。 VFP规定,每条语句占一行。一句一行。 若语句较长,中间用;结尾作续行符进行分隔。一句多行。
2、程序中常见的执行命令
DO 程序文件名 执行(调用)另一个程序,或调用自身程序。 CANCEL 取消程序运行,返回命令窗口。
RETURN 结束当前程序,返回上一级程序或返回命令窗口。 QUIT 退出VFP系统 3、程序中的输入输出命令 输入命令:
INPUT “字符表达式” TO 内存变量
22
将输入的任何类型的数据(根据类型需要加上定界符号)赋给变量。
ACCEPT “字符表达式” TO 内存变量
只能将字符数据(不需要定界符)赋给变量。
WAIT “字符表达式” [TO 内存变量] [WINDOW] [TIMEOUT n] 只接收字符数据(不需要定界符)赋给变量。在WINDOW窗口中出现提示字符,当到规定延迟时间时,仍未输入内容,则将空字符串赋给变量。很少用于给变量赋值,多数用于提示信息。 输出命令: ? 另起一行输出 ??同行输出
4、程序结构:顺序、选择、循环
(1)选择结构:IF语句和CASE语句 单分支选择结构:IF ?? ELSE??ENDIF
格式: IF 条件表达式 条件成立,执行IF子句
(ELSE 否则,条件不成立,
23
执行ELSE子句) ENDIF
IF语句可以在IF子句或者ELSE子句部分进行嵌套,但是必须完整地包含一个IF??ENDIF结构。
多分支选择结构:
DO CASE??CASE1??CASE2??OTHERWISE??ENDCASE (2)循环结构 FOR循环
DO ??WHLE 循环 SCAN循环 5、程序模块
(1)模块——子程序,在程序中的一段小程序
用PROCEDURE 模块名开头, 1、用ENDPROC结束, 2、或者用RETURN结束,
3、或者在模块的后边不加结束语句,直接以下一个模块的开头为结尾。 (2)调用
24
用DO 程序名进行调用。如同在命令窗口中调用程序文件一样。
子程序的调用在主程序中进行,主程序写在子程序之前。 (3)参数传递
在模块中用(PARAMETERS 形式参数名)来定义形式参数。
在程序文件中,对形式参数进行调用。 调用语句:
语句1: DO 模块名 WITH 实际参数 语句2: 模块名(实际参数)
实际参数和形式参数数量、类型、位置必须一致。 参数传递:
按地址传递——实际参数和形式参数共用一个存储地址,当形参改变时,实参也发生改变。 语句1: DO 模块名 WITH 实际参数,实际参数按地址传递。
按值传递——实参前后加上括号,实参只是把值传递给形参,实参的值不变。 语句2: 模块名(实际参数)是按值
25