自考数据库及其应用笔记(7)
第七章 FoxPro程序设计
1. 命令文件的建立、修改和运行
(1) 命令文件的建立与修改MODIFY COMMAND[<命令文件名>/?][IN WINDOW<窗口名>/SCREEN]
(2) 命令文件的执行DO<命令文件名>
其中SET DEVELOPMENT ON/OFF ,处于ON状态是默认,执行新的版本,处于OFF状态,则执行旧版本。
(3)命令文件的注释NOTE<注释> *<注释> &&<注释>
2. 顺序结构程序设计
(1)CLEAR是清屏命令,SET TALK ON为默认,每执行一条命令就给出回应,RETURN是一条返回命令。
(2)非格式化输入命令
ACCEPT [<字符表达式>] TO <内存变量> 接受从键盘输入的字符型数据,输入的字符串不必用引号括起来。 <字符表达式>只是提示作用。
INPUT[<字符表达式>] TO <内存变量>接受从键盘输入的C,N,D,L等,若是字符串则必须用引号括起来。
WAIT [<字符表达式>] TO <内存变量>等待从键盘输入一个字符, <字符表达式>只能是提示作用。
SET CONSOLE ON(默认,所有非格式化输入数据都显示)/OFF(相反)
(3)格式化输入输出命令
格式化输出命令@<行,列> SAY <表达式>[PICTURE<描述符串>][FONT<字体>[,<字号>]] SET DEVICE TO SCREEN 屏幕输出
SET DEVICE TO PRINT 打印机输出
格式化输入输出命令@<行,列>[SAY<表达式1>]GET<内存变量>|<字段>[PICTURE<描述符串>][RANGE<表达式2>[,<表达式3>]]与READ合用,才能修改变量,一个READ可以修改前面多个@…GET的变量值,通常SAY只是提示作用。
定义文本编辑区
@<行,列>EDIT<内存变量>SIZE<数值表达式1>,<数值表达式2>[FONT<字体>[,<字号>]][SCROLL]通过READ编辑,主要是对备注字段起作用。
清屏命令
CLEAR清除整个屏幕
@<行1,列1)[CLEAR|CLEAR TO <行2,列2>]清除屏幕局部区
3.分支语句IF <条件>
<命令序列1>
[ELSE
<命令序列2>]
ENDIF
多分支选择语句DO CASE
CASE<条件1>
<命令序列1>
CASE<条件2>
<命令序列2>
;
CASE<条件N>
<命令序列N>
[OTHERWISE
<命令序列N+1>]
ENDCASE
4.循环结构程序设计
DO WHILE <条件>
<命令序列1>
[LOOP]
<命令序列2>
[EXIT]
ENDDO
FOR <循环变量> = <初值> TO <终止> [SETEP<步长>]
<命令序列>
[LOOP]
[EXIT]
ENDFOR
SCAN [<范围>][FOR<条件>][WHILE<条件>]
<命令序列>
[LOOP]
[EXIT]
ENDSCAN
5.过程及自定义函数
(1)过程PROCEDURE< 过程名>
[PARAMETERS<形参表>]
<过程体>
RETURN[TO MASTER]
其中[TO MASTER]在嵌套中使用,含有[PARAMETERS<形参表>]为有参过程。
(2)过程文件建立PROCEDURE<过程名1>
<过程体1>
RETURN
…………
过程文件的打开和关闭SET PROCEDURE TO [<过程文件名>]
CLOSE PROCEDURE
(3)过程的调用DO <过程名> [WITH<实参表>]
(4)变量的作用域
全局变量PUBLIC<内存变量表>
局部变量:未经PUBLIC定义的
PRIVATE <内存变量表>
PRIVATE ALL [LIKE<通配符变量名>|EXCEPT<通配符变量名>]隐藏指定的内存变量,避免同名变量
(5)定义自定义函数FUNCTION<函数名>
[PARAMETERS<形参表>]
<函数体>
RETURN<表达式>
自定义函数的调用:函数名([<实参表>])
参数传递方式 SET UDFPARMS TO [VALUE|REFERENCE]若选用VALUE为值传递(默认),不会改变变量的值,若REFERENCE,则为引用方式。
6.运行环境的设置