1、财务程序设计教案,制作者:黄 华时 间:2006年8月修改,目录,第一章 程序设计简介 第二章 顺序结构 第三章 分支结构 第四章 循环结构 第五章 过程 第六章 菜单设计 第七章 表单设计,第一章 程序设计简介,本章主要内容: 程序设计概念。 VFP程序的编辑(建立、显示、修改)方式。 VFP程序的执行方式。 基本输入输出语句。 VFP程序的常用语句。,第一章 程序设计简介,结构化程序设计VFP程序设计包括 面向对象程序设计。,第一节 程序设计概念,一、概念: 1、定义 程序是将按一定的结构组织的能够完成一定功能的命令序列。 2、VFP程序基本结构 顺序、分支、循环和过程。 ( 因此:VFP
2、程序是一个结构式程序。)3、程序设计的特点准确性、通用性、可读性,二、VFP程序的建立,(一)使用命令创建程序 格式:MODIFY COMMAND . 格式:MODIFY FILE 功能:打开文本编辑器窗口,编辑(建立或修改)VFP命令文件。该类文件的扩展名为.PRG ,说明:,1、MODI COMM 命令如不写扩展名,系统会自动添加.PRG,而MODI FILE命令中文件名不能省略扩展名,命令必须写全名。2、程序编辑好以后,需要存盘。按CTRL+W或关闭程序窗口将文件立即存盘并且退出编辑。3、注意:可同时开启多个编辑窗口,同时编辑多个文件(即实现多个程序之间的连接与拷贝)。,例1:编写一个求
3、圆面积的程序。,MODI COMM EX1.PRG &此命令在命令窗口中输入 SET TALK OFF &以下命令在程序编辑窗口中输入 INPUT “半径为:“ TO R PI=3.14159 S=PI*R*R ? “ S= “,S RETU,(二)使用菜单创建程序,使用菜单创建程序文件的步骤如下:1、选择文件菜单的新建命令,在新建对话框中,选择文件类型为程序,单击新建按钮,打开文本编辑器窗口。2、在文本编辑器窗口中,编辑程序。3、选择文件菜单的保存命令,在另存为对话框中,选择合适的路径以及为文件命名,单击保存按钮。,三、文本编辑器的使用方法 (1) 光标移动-直接用鼠标点击 (2) 块的操作
4、1.定义块SHIFT+箭头(,)SHIFT+CRTL+END 定义光标所在字符直至文件尾 SHIFT+CRTL+HOME 定义光标所在字符直至文件首,2、裁剪 CTRL+X拷贝 CTRL+C(区别:前者删除文本块,并将其放入内存中; 后者不删除文本块,但将其放入内存中。)粘贴 CTRL+V,程序之间的连接与拷贝示例:,例2:MODI COMM A1A=10 B=20C=A+B?“ C=“,C,MODI COMM A2 D=C+B ?“D=“,D RETU,程序之间的连接与拷贝,步骤:1、打开A1命令文件,将光标移至被拷贝处。2、将被拷贝内容定义成块(SHIFT+箭头或) 3、进行裁剪(CTRL
5、+X)或拷贝(CTRL+C)。4、打开A2命令文件,将光标移至待拷贝处。5、进行连接(CTRL+V),四、VFP程序的显示和打印格式: TYPE 文件名.PRG TO PRINT,五、VFP程序的执行,(一)使用命令执行程序格式: DO 文件名.PRG 功能:执行由文件名表示的程序。强调:MODI COMM 和 DO命令是在命令窗口下进行,而程序的具体内容在程序编辑窗口中进行。(演示)(二)使用菜单执行程序选择程序菜单的运行命令,在运行对话框中,选择要执行的程序文件,单击运行按钮即可。,六、VFP程序的编译(选学),VFP只运行目标程序。VFP程序要通过编译才能获得目标程序。目标程序是紧凑的非
6、文本文件,并可起到对源程序加密的作用。(一)对于新建或被修改的VFP程序,执行DO命令时VFP会自动对它编译并产生与主名相同的目标程序,然后执行该目标程序。例如:执行DO EX1时,将先对EX1.PRG 编译产生目标程序QH.FXP,然后运行EX1.FXP。,六、VFP程序的编译(续),(二)也可使用程序菜单的编译命令来编译指定的程序或正在编辑的程序。值得注意的是,目标程序的扩展名因源程序而异。例如:.PRG程序的目标程序的扩展名为.FXP,查询程序的目标程序的扩展名为.QPX。,建议:在VFP中建立个人工作目录: “工具”菜单 选项 文件位置 默认目录 修改 使用默认目录 点 来定位位置 选
7、定 确定 设置为默认值 确定,第二节 人机对话语句,一.输入语句格式:INPUT “提示信息“ TO 内存变量功能:接受从键盘输入的各种类型的数据,数据输入完毕必须以回车结束。说明:1.输入字符串数据要加 “ “。2.输入逻辑型数据要用.T.或.F.。3.输入日期型数据要用YYYY-MM-DD 。4.命令如有提示信息可选项,则在执行过程中屏幕显示提示信息,等待用户输入;如无提示信息可选项,则屏幕上出现光标,等待用户输入。,例1: *MODI COMM EX1.PRGSET TALK OFFINPUT “请输入C型数据:“ TO A1INPUT “请输入D型数据:“ TO A2INPUT “请输
8、入L型数据:“ TO A3INPUT “请输入N型数据:“ TO A4?A1,A2,A3,A4RETU * DO EX1,例2:求矩形面积。* MODI COMM EX2.PRGSET TALK OFFINPUT “长=“ TO LINPUT “宽=“ TO WS=L*W ?“矩形面积=“,SRETU* DO EX2,二. ACCEPT语句格式:ACCEPT “提示信息“ TO 内存变量功能:接受从键盘输入的字符型的数据,数据送给保存 。说明: (1)输入数据不需要加引号,但必须以回车结束。(2)如命令有提示信息选项,则在执行过程中屏幕显示提示信息,等待用户输入;如无提示信息可选项,则屏幕上出
9、现光标,等待用户输入。 (演示执行过程。),例3:MODI COMM EX3.PRG,SET TALK OFFACCEPT “姓名:“ TO NAME?NAME+“您好!“RETUDO EX3,例4:(P113 )从键盘上输入省、市、单位名,显示该单位财务科名称程序。,*MODI COMM EX4.PRG SET TALK OFF ACCEPT “输入省份名称: “ TO A1 ACCEPT “输入市(县)名称: “ TO A2 ACCEPT “输入单位名称: “ TO A3 A=A1+“省“+A2+“市(县) “+A3+ “财务科“ ?A RETU,例5: * MODI COMM EX5.P
10、RGACCE “表文件名“ TO FILE USE FILELIST说明:通常在程序的编写过程中,用宏代换函数&来代替具体的文件名,而在程序执行过程中由用户根据需要输入文件名,从而使程序具有通用性。(总结:虽然INPUT语句也可以接受C型数据,但用ACCPET语句更方便。所以,一般采用ACCPET语句接受字符型数据。),三.立即输入语句,格式:WAIT “提示信息“ TO 内存变量WINDOW AT 行,列 TIMEOUT NOWAIT CLEAR/NOCLEAR 功能:接受从键盘输入的单个字符。 说明: 1、如果命令省略“提示信息“,则显示系统默认的提示信息“按任意键继续“。 2、若命令有T
11、O ,则用户输入的结果(单个字符)送保存; 若命令省略此项,则结果不予保存。,WAIT语句(续)(选学),3、WINDOW子句可使屏幕上出现一个WAIT提示窗口,位置由AT选项的行和列来指定。若缺省AT选项, 信息将显示在主屏幕右上角。 4、TIMEOUT 子句用来设定等待时间(秒数),一旦超过规定的时间则程序自动往下执行命令。 5、若使用NOWAIT选项,系统将不等用户按键,立即往下执行。 6、CLEAR:关闭提示窗口。NOCLEAR:不关闭提示窗口,WAIT窗口将在执行下一个WAITWINDOW命令时自动关闭。,WAIT常用于下列几种情况:,1、输出提示信息,暂停程序的运行,便于查看程序。
12、立即往下执行与设定延时时间关闭提示窗口功能。 例5:WAIT “输入无效,请重新输入“ WINDOW TIMEOUT 5 2、控制程序的执行方向。 例6: JX=“Y“ DO WHILE UPPE(JX)=“Y“ WAIT “继续做这件事情(Y/N)?“ TO JX ENDDO (EX6:教材P131/例18;P134),总结: ACCPET,WAIT命令都只能字符型数据,输入的数据不需加引号,操作比较方便。 WAIT命令专用于接受单个字符,且不需按回车键,操作最为简单,适于需要快速响应的场合。 INPUT命令功能全面,可接受各种类型的数据,但输入字符串需加“ ”,不如前两个方便,故多用于输入
13、N型数据。提问:1、这些命令的执行格式如何?2、这些命令操作的对象是什么?,四 、 格式输入语句,格式: (行,列) SAY GET STYLE “字体风格“ FONT “字体“,字号READ 功能:是在屏幕上指点的位置对内存变量或字段名变量进行编辑(建立、浏览、修改等)。 说明:(行,列)规定了光标的起始位置。,语句介绍(续),SAY是显示字句,其作用是显示它后面表达式的值,该式可以是具有确定值的任何复杂的表达式,包括N和C型。例7: 2,30 say “长沙理工大学“ 例8: 5,10 say “3-5= “ row(),col() say 3-5(此语句省略get属于输出语句),GET子
14、句表示显示变量值,变量可以是字段名变量也可以是内存变量 。例3:STORE “2003.9.1 “ TO date5,10 SAY “今天是“ GET dateREAD上例说明:如果没有read语句,GET变量仅起浏览作用。, GET变量必须具有初值,或用DEFAULTDE子句的指定。,例10: 5,10 SAY “今天是: “ GET DATE ;DEFA 2005-09-01例11:7,10 SAY “姓名是: “ GET NAME;DEFA “王五“,GET变量必须用READ语句激活。在READ的作用下,光标会自动在GET变量显示区定位,同时进入编辑状态,供用户逐个对变量进行修改。,例1
15、2:修改工资表中某条记录的姓名和基本工资。,SET TALK OFF USE GZN=12,20 SAY “请输入记录号“ GET NREADGO N2,20 SAY “姓名“ GET 姓名 4,20 SAY “基本工资“ GET 基本工资READDISPRETU (说明:如果只对表的字段名变量来编辑操作,我们只能用.SAY.GET.语句。),五.其他与程序有关语句,1.CANCEL命令功能:终止程序的运行,返回命令窗口,同时关闭所有的文件。(在VFP中,常利用这个语句在有关条件得到满足时中止程序的运行,因此往往与IF或DO CASE 联合使用。)2.系统退出语句格式:QUIT作用:退出VFP系统,返回windows桌面。,2.注释语句 (1)NOTE (2)* 说明:主要用在程序或模块的开始说明。 例如: *插入模块 GO N INSERT (3) 说明:主要用于说明某条语句的作用。一般放在某语句的后面做注释。 例如:? SPACE(13)+ “工资表“ 打印表头,(总结:本章主要介绍结构化程序设计基本概念,包括程序的建立与修改、程序的显示与打印、程序的执行以及基本的输入输出语句。),