1、数据库技术及应用数据库技术及应用程序的建立与执行程序的建立与执行 程序的控制结构程序的控制结构程序的模块设计程序的模块设计 变量的作用域变量的作用域 Visual FoxPro系统提供有三种工作方式:系统提供有三种工作方式:即即命令方式命令方式、菜单方式菜单方式及及程序文件方式程序文件方式。程序文件方式程序文件方式 程序文件(简称程序文件(简称程序程序)也叫做命令文件。运用)也叫做命令文件。运用程序文件方式进行数据库管理,是通过程序文件程序文件方式进行数据库管理,是通过程序文件编辑工具,将对数据库资源进行操作管理的命令编辑工具,将对数据库资源进行操作管理的命令和对系统环境进行设置的命令,集中在
2、一个以和对系统环境进行设置的命令,集中在一个以(.PRG)为扩展名为扩展名的的命令文件命令文件中,然后再通过菜单中,然后再通过菜单方式或命令方式方式或命令方式运行该命令文件运行该命令文件。所谓命令方式,。所谓命令方式,即通过程序文件中的命令完成不同的操作。即通过程序文件中的命令完成不同的操作。7.1 程序的建立与执行程序的建立与执行7.1 程序的建立与执行程序的建立与执行7.1.1 建立和执行程序建立和执行程序(1)组成:组成:由代码组成,程序文件的扩展名为由代码组成,程序文件的扩展名为.PRG(2)建立程序文件的命令建立程序文件的命令 MODIFY COMMAND 文件名文件名(4)程序文件
3、的执行命令:程序文件的执行命令:DO 文件名文件名(3)建立程序文件的界面操作建立程序文件的界面操作.dbf.fpt.qpr.dbc.prg各表示什么类各表示什么类型的文件型的文件?编编程程窗窗口口(1)命令分行命令分行一行只能写一条命令一行只能写一条命令若命令需分行书写,在行尾加入续行符若命令需分行书写,在行尾加入续行符“;”(2)命令注释命令注释目的:目的:提高程序的可读性。提高程序的可读性。行首注释:注释行以行首注释:注释行以“*”开头开头行尾注释:以符号行尾注释:以符号“&”开头开头7.1.2 程序的书写规则程序的书写规则7.1 程序的建立与执行程序的建立与执行?3.14*3*3例如例
4、如:求半径为求半径为3的圆的面积的圆的面积程序文件的退出与保存程序文件的退出与保存 Ctrl+W:文件存盘退出文件存盘退出ESC:双击左上角控制菜单:双击左上角控制菜单:单双击右上角关闭按钮:单双击右上角关闭按钮:“文件文件”菜单:菜单:“保存保存”、“另存为另存为”7.1 程序的建立与执行程序的建立与执行R=3S=3.14*R*R&求圆面积求圆面积?圆面积圆面积=,S程序输入完程序输入完Ctrl+W:存盘存盘 执行执行程序程序例例:编写程序编写程序p7-1.prg,显示,显示student表中所有学表中所有学生的学号、姓名、性别和出生日期。生的学号、姓名、性别和出生日期。在命令窗口中输入:在
5、命令窗口中输入:Modify Command p7-1*p7-1.prgClear&清屏清屏Use studentList 学号学号,姓名姓名,性别性别,出生日期出生日期Use7.1 程序的建立与执行程序的建立与执行7.1.3 程序中的常用命令程序中的常用命令CLEAR清屏命令清屏命令ACCEPT输入命令输入命令INPUT输入命令输入命令SAYGET输入输出命令输入输出命令WAIT等待命令等待命令 程序结尾专用命令程序结尾专用命令7.1 程序的建立与执行程序的建立与执行重点:重点:程序中的程序中的输入输入命令命令1.清屏命令清屏命令命令格式:命令格式:CLEAR功能:清除屏幕主窗口中的全部信息
6、。功能:清除屏幕主窗口中的全部信息。7.1.3 程序中的常用命令程序中的常用命令2.ACCEPT输入命令输入命令命令格式:命令格式:ACCEPT“提示信息提示信息”TO 功能:显示指定的功能:显示指定的,等待用户,等待用户输入一个输入一个字符串字符串,以回车键结束输入,并,以回车键结束输入,并将该字符串赋给指定的变量。将该字符串赋给指定的变量。说明:说明:只能实现字符型数据的输入只能实现字符型数据的输入,输入,输入字符串时字符串时不用输入定界符不用输入定界符。7.1.3 程序中的常用命令程序中的常用命令编写程序编写程序p7-3.prg,实现从键盘输入任意一个,实现从键盘输入任意一个学生的学号,
7、然后显示出该学生的信息。学生的学号,然后显示出该学生的信息。运行结果运行结果7.1.3 程序中的常用命令程序中的常用命令INPUT“提示信息提示信息”TO 内存变量内存变量功能:显示指定的功能:显示指定的,等待用户输入数据,等待用户输入数据,以回车键结束,并将所输入的数据赋给指定的变量。以回车键结束,并将所输入的数据赋给指定的变量。说明:说明:数值型数据可直接输入;数值型数据可直接输入;字符型数据在输入时必须要用引号括起来;字符型数据在输入时必须要用引号括起来;逻辑型数据只能输入逻辑型数据只能输入.T.或或.F.;日期型要使用严格的日期格式日期型要使用严格的日期格式yyyy-mm-dd。3.通
8、用数据输入语句通用数据输入语句7.1.3 程序中的常用命令程序中的常用命令例例:编写程序,实现从键盘输入任意学时数,查询编写程序,实现从键盘输入任意学时数,查询kc表中学时与所输入的学时相同的所有课程信息。表中学时与所输入的学时相同的所有课程信息。运行结果运行结果7.1.3 程序中的常用命令程序中的常用命令例例:编写程序,实现从键盘输入任意课程名,查询该编写程序,实现从键盘输入任意课程名,查询该课程的全部信息。课程的全部信息。4.4.定位输入输出专用命令定位输入输出专用命令 say “提示信息提示信息”get 变量名变量名/字段名字段名 default 初值初值 数据在窗口数据在窗口显示位置显
9、示位置在指定的行、在指定的行、列位置输出列位置输出字字符数据符数据输入及编辑字段输入及编辑字段变量数据变量数据指定变量初值指定变量初值7.1.3 程序中的常用命令程序中的常用命令7.1.3 程序中的常用命令程序中的常用命令4.4.定位输入输出专用命令定位输入输出专用命令 say “提示信息提示信息”get 变量名变量名 default 初值初值 例:例:4,3 say“输入第输入第1个数据个数据“get a default 06,3 say“输入第输入第2个数据个数据“get b default 0 read?”a+b的值为:的值为:”,a+b “000“000“例例:编程:输入圆的半径,显示
10、圆的面积。编程:输入圆的半径,显示圆的面积。*定位输入方式的程序定位输入方式的程序clear3,5 say 请输入圆的半径请输入圆的半径 get R default 0readS=3.1415*R*R?圆的面积圆的面积=+str(S)*input输入方式的程序输入方式的程序clearinput 请输入圆的半径:请输入圆的半径:to RS=3.1415*R*R?圆的面积圆的面积=“,S显示结果在屏显示结果在屏幕的左下角幕的左下角5,5 say 圆的面积圆的面积=+str(S)问题:问题:default 0 只能输入只能输入整数,如何能输入小数?整数,如何能输入小数?0.000?圆的面积圆的面积=
11、“+str(S)编写程序编写程序p7-5.prg,根据,根据记录号记录号来修改某个来修改某个学生的学号、姓名和专业编号学生的学号、姓名和专业编号WAIT“信息文本信息文本”WINDOW AT 行值行值,列值列值 TIMEOUT TO 变量变量暂停程序的运行,直到用户输入一个字符暂停程序的运行,直到用户输入一个字符,也可用于输出一条提示信息也可用于输出一条提示信息。6 6.暂停暂停,等待输入命令等待输入命令 省略则显示:省略则显示:“按任意键继续按任意键继续”使屏幕出现一个使屏幕出现一个WAIT提示窗口提示窗口,内容由内容由确定确定,位置由位置由AT子子句指定句指定.省略省略AT子子句则出现在屏
12、幕右句则出现在屏幕右上角上角例例1:WAIT“请检查输入内容请检查输入内容!”WINDOW例例2:WAIT“注意注意!现在暂停程序的执行现在暂停程序的执行6秒秒”;WINDOW AT 10,10 TIMEOUT 6设定等待时间(以秒为单位)设定等待时间(以秒为单位)7.1.3 程序中的常用命令程序中的常用命令RETURN:结束程序执行,返回到调用它的上级程序结束程序执行,返回到调用它的上级程序继续执行,继续执行,可以缺省可以缺省。CANCEL:终止程序运行,清除程序的私有变量,返终止程序运行,清除程序的私有变量,返回命令窗口。回命令窗口。QUIT:终止程序运行,返回到终止程序运行,返回到Win
13、dows。7.程序结尾的专用命令程序结尾的专用命令7.1.3 程序中的常用命令程序中的常用命令 顺序结构顺序结构结构化程序的基本结构结构化程序的基本结构 分支结构分支结构 循环结构循环结构 7.2 结构化程序的控制结构结构化程序的控制结构一顺序结构一顺序结构 程序运行时,按照语句排列的先后顺序,程序运行时,按照语句排列的先后顺序,一条接一条地依次执行。一条接一条地依次执行。例例1:从键盘输入任意两个整数,求和并显示。:从键盘输入任意两个整数,求和并显示。7.2 程序的控制结构程序的控制结构如何用如何用input语句输入?语句输入?input“请输入第请输入第1个数个数”to ainput“请输
14、入第请输入第2个数个数”to bUSE student10,5 SAY“修改专业编号修改专业编号“&显示标题显示标题?&空空1行行 INPUT“请输入要修改专业的记录号请输入要修改专业的记录号:TO aGO aDISPLAY 专业编号专业编号 INPUT 请重新键入第请重新键入第+STR(a,1);+“号记录的专业编号号记录的专业编号:TO zyh REPLACE 专业编号专业编号 WITH zyh DISPLAY 专业编号专业编号USE例例2:在在student表中根据输入的记录号修改专业编号表中根据输入的记录号修改专业编号7.2 程序的控制结构程序的控制结构输入字输入字符型数符型数据时一据
15、时一定要加定要加定界符定界符输入输入整数整数在在student表中根据输入的学号修改该生的入学总分。表中根据输入的学号修改该生的入学总分。CLEAR USE studentINPUT“请输入要修改总分的学生学号请输入要修改总分的学生学号:TO xhLOCA FOR 学号学号=xh DISPLAY 学号学号,入学总分入学总分 OFFINPUT“请重新键入请重新键入”+编号编号+“的入学总分的入学总分:TO zf REPLACE 入学总分入学总分 WITH zf DISPLAY 学号学号,姓名姓名,入学总分入学总分 OFFUSE4,4 say“请输入要修改总分的学生学号请输入要修改总分的学生学号:”get xh default“0000000000“&输入时不用加输入时不用加“”号号