章节第六章基本程序设计教学目的要求通过对这一章的学习,使学生熟悉程序编辑环境、掌握函数以及各种变量的使用和程序设计的顺序结构、分支结构及循环结构,过程和用户自定义函数,会使用私有变量、局部变量与全局变量三种不同级别层次的内存变量。教学重点难点教学重点:1.掌握建立程序文件和运行程序文件的命令。2.熟练掌握程序设计顺序结构、分支结构及循环结构。3.过程和用户自定义函数。。4.私有变量、局部变量与全局变量。教学难点:1.程序设计的顺序结构、分支结构及循环结构。2.私有变量、局部变量与全局变量。拟留作业与实训作业:1.建立程序文件2.运行程序文件3.编写顺序结构程序4.编写分支结构程序5.编写循环选择程序6.区分使用私有变量、局部变量和全局变量实训:完成实训大纲中实训项目九、十小结通过本章学习:1、掌握程序文件的建立和运行方法;2、掌握顺序、分支、循环结构程序;3、掌握过程与函数调用。渤海大学教案用纸2006年3月-2-教学主要内容教学方法时间分配【学习目标】知识点:1.熟悉程序编辑环境。2.掌握建立、运行程序文件的方法。3.会设置程序编辑环境。技能点:1.会建立、运行程序文件。2.会对程序编辑设置良好的环境。当我们初学VFP时,常利用系统菜单的选择方式或直接在“命令窗口”中键入命令来完成对数据库的各种操作。这种操作方法叫做交互方式,虽然简单易学,但是效率不高,当需要反复使用某些命令时,一定会感到很厌烦。如果将这些命令结合起来,使那些繁琐的操作一次完成,该是多么美妙啊!这正是VFP提供的程序操作方式。VFP允许用户将一系列相关命令保存在一文件中,从而创建一个命令集(程序)文件。只要执行此程序文件,VFP就会自动依次运行其中所有的命令语句,从而完成指定的任务。程序文件要以计算机看得懂的语法来编写,这便涉及到VFP的程序结构与语法。这正是本章要介绍的重点。第一节、程序编辑环境一、程序编辑窗口的基本操作打开程序编辑窗口VFP源程序文件是一个以(.PRG)为扩展名的文本文件。任何可以创建、编辑文本文件的工具,都可以创建和编辑VFP程序文件。这些文本编辑工具,可以是VFP系统提供的内部编辑器,也可以是其他常用文本编辑软件(如Word)。在文本编辑环境下,不仅可以对程序文件进行输入和修改,还可以实现字符串查找、替换、删除和编辑等文本处理功能。创建、编辑程序文本一般使用内部编辑器。打开内部编辑器的方法有两种:1、菜单方式打开主菜单的“文件”下拉菜单,单击“新建”选项,打开“新建”窗口;或者在常用工具栏中,单击“新建”按钮,打开“新建”窗口。选择“新建”窗口中“程序”类型,再单击“新建”文件按钮,同样可以打开程序编辑窗口。在程序文件编辑窗口中输入程序文件,并最后保存文件,操作结束。还可以在项目管理器中创建“程序”文件。在项目管理器的代码选项卡下单击“程序”类型,然后单击右侧的“新建”按钮,同样可以创建一个“程序”类型文件。2、命令方式格式:MODIFYCOMMAND[程序文件名]说明:选项[程序文件名]可直接定义程序文件名,忽略选项,系统默认以“程序1”为程序文件名。比如在命令窗口执行命令:MODIFYCOMMANDTESTVFP会在当前目录下查找是否有此程序TEST.prg存在,如果有,则装如程序编辑窗口中,认为要编辑此程序,如果没有,则打开一个空的程20分钟(详讲)渤海大学教案用纸2006年3月-3-序编辑窗口,认为要编写一新的程序文件,而且会自动为此程序加上扩展名.prg.在编写过程中,可按Esc键以终止程序的编写,或按Ctrl+W键保存程序并回到命令窗口.也可以单击窗口右上角的关闭按钮,或者在主菜单的“文件”下拉菜单中单击“关闭”选项关闭本窗口,并将键入的程序作为文件存盘.程序文件的运行独立程序可以用:菜单、工具栏、项目管理器和命令四种方式运行。在对象中包含的程序会随着对象的操作而自动运行。1、菜单方式打开主菜单的“程序”下拉菜单,单击“运行”选项,打开“运行”对话框,选择需要运行的程序文件名,最后单击“运行”按钮,开始运行程序。刚创建的程序文件的扩展名是.prg,运行过一次后,就自动创建一个扩展名为.FXP的同名编译程序文件。而且此编译过的目的文件(.FXP)会较原先的程序文件稍大。2、在编译器中执行如果当前编辑窗口中的程序已经输入完毕,或者已经编辑修改完毕,可以在编辑状态下来试运行该程序。在主菜单的“程序”下拉菜单中单击“DO文件名”选项,或者在常用工具栏中单击“运行”按钮,或直接按快捷键Ctrl+E均可运行该程序。3、在项目管理器中执行打开项目管理器窗口。选定需要运行的程序文件,单击“运行”按钮,运行该程序。4、命令方式命令格式:DO程序文件名说明:在命令窗口中直接输入命令执行程序,或者在程序中调用另一个程序运行。例如在命令窗口输入:DOTEST,然后按回车键,将立即运行该程序。二、创建良好的程序编写环境语法颜色与字体设置为了使程序变得更加易读与易维护,系统会以不同的颜色与字体来显示程序代码中的不同成分。比如,在默认状态下,程序代码中的关键字以蓝色显示,注释则以绿色显示。如果觉得默认显示不好,可按自己的使用习惯加以改变。操作步骤如下:1、从“工具”菜单中单击“选项”命令。2、在“选项”对话框中选择“语法着色”选项卡。3、从“区域”下拉列表框中选取要设置颜色的对象。4、在选取该对象的前景色、背景色或字体。5、最后单击“确定”按钮(如果希望长期保持本次的设置,请先单击“设置为默认值”按钮,再单击“确定”按钮。)比方说,如果希望程序代码中的字符串能够以红色显示,从“区域”下拉列表框中选取“字符串”选项,再从“前景”下拉列表框中选取红色。而单击“全部重置”按钮可以恢复成默认值。5分钟(略讲)渤海大学教案用纸2006年3月-4-修饰程序代码所谓修饰程序代码,就是要指定字母大写及缩进的样式,使程序层次结构分明,容易看出程序的逻辑结构。尤其是在程序中包含DOWHILE…ENDDO、IF…ENDIF、DOCASE…ENDCASE…等结构化控制命令时候。我们以ugly.prg为例,说明修饰程序代码的详细步骤:1、使用MODIFYCOMMAND命令打开要修饰其程序代码的程序。MODIFYCOMMANDugly2、在编辑窗口打开快捷菜单,单击“修饰”命令。3、此时将出现“修饰选项”对话框。其中各个选项的功能说明如下:(1)“关键字”下拉列表框中的四个选项用来设置命令及其关键字的大小写。(2)“符号”下拉列表框中的四个选项用来设置符号的大小写。“与第一次匹配”表示符号的大小写将与目前所在编辑窗口中第一个出现的符号的大小写一致。(3)变量的大小写设置也是由“符号”下拉式列表框来决定。(4)可以从“缩进类型”下拉列表框中选取需要的文本缩进方式。如果选取了“空格”,可以再使用“空格”数值微调器来调整文本缩进的空格数。(5)在缩进的文本区,如果希望所有以星号(*)开头的注释行皆要加以缩进,请选中“注释”复选框。如果希望所有以分号(:)续行的内容都要加以缩进,请选中“续行”复选框。(6)假如想要将程序中的某一段程序行进行额外的缩进,选中“过程”复选框;假如想要将DOCASE结构语句行中的内容进行额外的缩进,请选中“DOCASE”复选框。设置程序编辑窗口的属性通过设置程序编辑窗口的属性,可以优化程序编辑窗口,使之更符合您的使用习惯。要设置程序编辑窗口的属性,按下列步骤进行:1、打开程序编辑窗口2、在程序编辑窗口上打开快捷菜单,单击菜单中的“属性”命令。弹出“编辑属性”对话框。3、通过选择窗口中各种选项可以设置编辑窗口的各种属性。各种选项的作用如下:(1)拖放编辑:选定此选项,能够实现使用鼠标拖放编辑的功能。(2)自动换行:如果希望程序编辑窗口中的文本数据能够随着编辑窗口的宽度而自动向下换行,请选定此选项。(3)自动缩进:如果希望启动自动缩进的功能,请选定此选项。(4)制作备份:为了保险起见,如果希望同时保存修改前的程序文件请选定此选项。VFP会将原文件备份至一个扩展名为.BAK同名文件中。(5)保存换行符:如果选定此选项,则VFP会将已键入的换行符一并保存起来。(6)保存文件结束符:如果选定此选项,则VFP会在保存文件的结尾处加上一个文件结束字符。(7)保存前先编辑;选定此选项可以使系统在退出程序编辑窗口,保存程序文件前自动编译此程序,并用新的编译程序替代旧的编译程序。10分钟(略讲)渤海大学教案用纸2006年3月-5-这样一方面可确保执行程序一定是最新版本,同时又可以在编译时自动检查程序中的语法错误。(8)对齐方式:此下拉列表框中的三个选用来决定程序编辑窗口中文本的对齐方式。(9)制表符宽度:此数值微调器用来设置在程序编辑窗口中每按一次[Tab]键的水平移动空格数。(10)显示行/列位置:如果希望能在状态栏中显示出光标目前所在的列位置与行位置,并且一旦修改编辑窗口中的内容时立即显示出“已修改”的字样的话,请选定此选项。(11)保存选择的参数:如果希望以后编辑文件时总是采用本次所作的设置,请选定此选项。(12)应用到.prg文件:如果希望以后新建.prg程序文件时,总是采用本次所做的设置,请选定此项。三、程序设计的一些常用命令语法:编程从键盘输入某数据库的文件名,要求打开该数据库并显示其内容。程序文件名为PROG1.PRG。MODICOMMANDPROG2SETTALKOFFCLEARACCEPT“请输入数据库名:”TOAAAOPENDATABASE&AAAACCEPT请输入表名TOBBBUSE&BBBLISTUSESETTALKONRETURN从键盘输入两个任意正数,编程求以两数为边长的长方形面积。程序文件名为PROG2.PRGSETTALKOFFCLEARINPUT“长方形一边的长为:”TOAINPUT“长方形另一边的长为:”TOBS=A*B?“长方形的面积为:”,SSETTALKONRETURNACCEPT命令只能接受字符型数据,不需定界符,输入完毕按回车键结束;WAIT命令只能输入单个字符,且不需定界符,输入完毕不需按回车键;INPUT命令可接受数值型、字符型、逻辑型、日期型和日期时间型数据,数据形式可以是常量、变量、函数和表达式,如果是字符串,需用定界符,输入完毕按回车键结束。15分钟(详讲)40分钟(详讲)10分钟(略讲)渤海大学教案用纸2006年3月-6-教学主要内容教学方法时间分配【学习目标】知识点:4.掌握顺序结构程序。5.掌握选择结构程序。技能点:1.掌握顺序结构程序。2.掌握选择结构程序。第三节程序结构控制命令程序的基本控制结构包括:顺序、分支(选择)和循环。一、顺序结构VFP程序从主体上说是顺序的,每条命令执行完后都自动开始下一条命令的执行,只有遇到分支结构、循环结构、过程函数等才会暂时改变执行的顺序。例如,建立程序uPROG1.prg,功能是显示“学生”表第1条记录的有关内容。程序名称:uPROG1.prg功能说明:顺序结构程序举例SETTALKOFFUSED:\学生管理\学生?“第一条记录的有关情况:”?学号,姓名,院系USESETTALKON二、分支结构分支结构用于控制程序中命令组的执行与否,它根据指定的条件执行不同的操作。简单条件语句IFexpL所要执行的若干语句行1[ELSE所要执行的若干语句行2ENDIF20分钟(详讲)30分钟(详讲)渤海大学教案用纸2006年3月-7-在程序中,我们经常需要根据用户确定的选项来决定执行不同的操作、运算符,也就是所谓的程序流程控制。例如在程序的主菜单中,提供给用户“查询”及“修改”的功能选项,则此程序必须具备判断用户选择那一个功能选项,并依此执行不同功能操作的能力。VFP利用简单条件语句可以实现这种操作功能。在简单条件语句中,每一个IF命令必须对应一个ENDIF命令。至于可选项ELSE语句,应当位于IF与ENDIF间,使得程序具有另一个分支。只要满足条件expL(也就是使expL返回真值.T.)时,将执行位于IF后面的若干语句行1,然后从E