【例2】编程从键盘输入某数据库的文件名,要求打开该数据库并显示其内容。程序文件名为PA1.PRG。
MODI COMMAND PA1
SET TALK OFF
CLEAR
ACCEPT"请输入数据库名:"TO A
OPEN DATABASE&&A
ACCEPT"请输入表名:"TO B
USE&&B
LIST
USE
SET TALK ON
RETURN8.WAIT命令
【格式】WAIT[<提示信息>][TO<内存变量>][WINDOW[AT<行>,<列>]][NOWAIT][CLEAR|NOCLEAR][TIMEOUT<数值表达式>]
【功能】显示提示信息,暂停程序执行,直到用户按任意键或单击鼠标时继续执行程序。
若选择可选项[TO<内存变量>],将输入的单个字符作为字符型数据赋给指定的<内存变量>;若用户是按Enter键或单击鼠标,<内存变量>的值为空串。
若省略所有可选项,屏幕显示“键入任意键继续……”默认提示信息。
【例】在STUDENT数据库的STUD表中显示任意一个系学生的情况。
程序文件名为PA2.PRG
SET TALK OFF
CLEAR
OPEN DATABASE学生管理
USE学生
WAIT"请输入待查学生的学号(1-3):"TO N
IF VAL(N)<1.OR.VAL(N)>3
WAIT"输入无效,结束程序运行!"WINDOW TIMEOUT 5
RETURN
ELSE
STORE"0"+N TO AAA
LIST FOR学号=AAA
ENDIF
CLOSE DATABASE
SET TALK ON
RETURN
三条输入命令的异同
INPUT命令可接受数值型、字符型、逻辑型、日期型和日期时间型数据,数据形式可以是常量、变量、函数和表达式,如果是字符串,需用定界符,输入完毕按回车键结束。
ACCEPT命令只能接受字符型数据,不需定界符,输入完毕按回车键结束;
WAIT命令只能输入单个字符,且不需定界符,输入完毕不需按回车键;
例题
1.下列关于Visual FoxPro输入输出指令的说法不正确的是____。
A.INPUT命令用来从键盘输入数据
B.用INPUT命令输入数据时,若不输入任何数据,直接按回车键,则系统会把空字符赋给指定的内存变量
C.ACCEPT命令只能接收字符串
D.WAIT命令能暂停程序执行,直到用户按任意键或单击鼠标时继续程序
【解析】本题考查的知识点是一些基础知识。本题一目了然选择B。 【答案】B
9.程序结构
是指程序中命令或语句执行的流程结构。Visual FoxPro提供了三种基本结构:顺序结构、选择结构、循环结构。
10.顺序结构程序设计
是程序中最简单、最基本的结构。使用该结构只需先把过程的各个步骤详细列出,然后将有关命令按处理的逻辑顺序自上而下排列起来。
Visual FoxPro就能按程序排列的顺序,一条接一条地依次执行。
11.分支结构形式有如下三种:
(1)单向分支
单向分支语句,即根据用户设置的条件表达式的值,决定某一操作是否执行。
①语句格式:
IF〈条件表达式〉
〈命令行序列〉
ENDIF
②语句功能:
该语句首先计算〈条件表达式〉的值,当〈条件表达式〉的值为真时,执行〈命令行序列〉;否则,执行ENDIF后面的第一条命令。
【例】求一元二次方程AX2+BX+C=0的实根。程序文件名为PA3.PRG。
SET TALK OFF
CLEAR
INPUT"A="TO A
INPUT"B="TO B
INPUT"C="TO C
Z=B^2-4*A*C
IF Z>=0
X1=(-B+SQRT(Z))/(2*A)
X2=(-B-SQRT(Z))/(2*A)
?X1,X2
ENDIF
SET TALK ON
RETURN
(2)双向分支
双向分支语句,即根据用户设置的条件表达式的值,选择两个操作中的一个来执行。
①语句格式:
IF〈条件表达式〉
〈命令行序列1〉
ELSE
〈命令行序列2〉
ENDIF