第五章 VFP6程序设计基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第五章程序设计基础本章主要内容VisualFoxPro的工作方式程序与程序文件程序的基本结构多模块程序程序测试VisualFoxPro的工作方式VisualFoxPro系统提供有三种工作方式:即单命令方式、菜单方式及程序文件方式。1.单命令方式VisualFoxPro单命令方式是利用命令窗口实现的。用户通过命令窗口输入命令,并执行操作。在命令窗口中,用户可以输入单个的操作命令和系统命令,完成对数据库的操作管理和系统环境的设置;也可以建立命令文件及运行命令文件。命令窗口不仅是VisualFoxPro命令的执行窗口,也是VisualFoxPro命令文件的编辑窗口。所谓单命令方式,即输入一条命令,完成一个操作的工作方式。2.菜单方式在VisualFoxPro环境下,也可以通过系统提供的菜单选项,对数据库资源进行操作管理和对系统环境进行设置;并通过菜单建立命令文件及运行命令文件。所谓菜单方式,即通过打开不同的菜单选择并完成不同的操作3.程序文件方式程序文件(简称程序)也叫做命令文件。运用程序文件方式进行数据库管理,是通过程序文件编辑工具,将对数据库资源进行操作管理的命令和对系统环境进行设置的命令,集中在一个以(.PRG)为扩展名的命令文件中,然后再通过菜单方式或命令方式运行该命令文件。所谓命令方式,即通过程序文件中的命令完成不同的操作。5.1程序与程序文件5.1.1程序的概念程序是能够完成一定任务的命令的有序集合。这组文件被存放在成为程序文件或命令文件的文本文件中。默认的是扩展名为.prg的文件采用程序方式的好处1)可以利用编辑器,方便的输入、修改和保存程序2)可以用多种方式,多次运行程序3)可以在一个程序中调用另一个程序有关VisualFoxPro程序的几点说明1.注释语句【格式1】NOTE注释内容【格式2】*注释内容【格式3】&&注释内容【功能】增强程序文件的易读性或放弃注释内容中语句的执行2.对话开关语句【格式】SETTALKOFF|ON【功能】关闭或打开命令执行时的对话开关3.命令的分行VisualFoxPro程序是命令行的序列,每个命令都以回车键结束,一行只能写一条命令;有时,若一条命令太长,一行写不下,也可分行书写,并在分行处加上续行符“;”,再按回车键。5.1.2程序文件的建立、修改与执行1.建立或修改程序文件可用两种方式调用系统内置的文本编辑器建立或修改程序文件1)命令方式MODIFYCOMMAND〈程序文件名〉或MODIFYFILE〈程序文件名〉2)菜单方式打开“文件”菜单,选择“新建”在“新建”窗口,选择“程序”,再选择“新建文件”2.保存程序程序输入、编辑完毕,单击【文件】|【保存】菜单项,或按Ctrl+W复合键,在“另存为”对话框中指定程序文件的存放位置和文件名,并单击“保存”按钮保存程序文件并退出文本编辑器。程序文件的默认扩展名是.PRG。3.执行程序程序文件建立后,可以用多种方式、多次执行它。下面是两种常用的方式(1)菜单方式①单击【程序】|【运行】菜单项,打开“运行”对话框②从文件列表框中选择要运行的程序文件,并单击“运行”命令按钮,启动运行该程序文件(2)命令方式【格式】DO文件名【功能】执行指定的程序文件执行程序文件时,将依次执行文件中的命令,直到所有命令执行完毕,或者执行到以下命令:①CANCAL:终止程序运行,清除所有的私有变量,返回命令窗口;②DO:转去执行另一个程序③RETURN:结束程序执行,返回调用它的上级程序,若无上级程序则返回命令窗口;④QUIT:结束程序执行并退出VisualFoxPro系统,返回操作系统5.1.3简单的输入输出命令1.ACCEPT命令【格式】ACCEPT[提示信息]TO内存变量【功能】在程序执行过程中,将用户交互式输入的内容作为字符串赋值给指定内存变量。该命令只接受字符型数据,输入的字符串不需要加定界符【例5-1】编程从键盘输入某数据库的文件名,要求打开该数据库并显示其内容。程序文件名为PROG1.PRGSETTALKOFFCLEARACCEPT“请输入数据库名:”TOAAAOPENDATABASE&AAAACCEPT请输入表名TOBBBUSE&BBBLISTUSESETTALKONRETURN2.INPUT命令【格式】INPUT[提示信息]TO内存变量【功能】在程序执行过程中,将用户交互式输入的内容赋值给指定内存变量可以输入字符型、数值型、逻辑型、日期型和日期时间型等类型数据,而且可以是常量、变量、函数或表达式等形式,按回车键结束输入,系统将输入的数据赋值给内存变量。【例5-2】从键盘输入两个任意正数,编程求以两数为边长的长方形面积。程序文件名为PROG2.PRGSETTALKOFFCLEARINPUT“长方形一边的长为:”TOAINPUT“长方形另一边的长为:”TOBS=A*B?“长方形的面积为:”,SSETTALKONRETURN3.WAIT命令【格式】WAIT[提示信息][TO内存变量][WINDOW[AT行,列]][NOWAIT][CLEAR|NOCLEAR][TIMEOUT数值表达式]【功能】显示提示信息,暂停程序执行,直到用户按任意键或单击鼠标时继续执行程序。若选择可选项[TO内存变量],将输入的单个字符作为字符型数据赋给指定的内存变量;若用户是按Enter键或单击鼠标,内存变量的值为空串。若省略所有可选项,屏幕显示“键入任意键继续……”默认提示信息【例5-3】在STUDENT数据库的STUD表中显示学生的情况信息。程序文件名为PROG3.PRGSETTALKOFFCLEAROPENDATABASESTUDENTUSESTUDLISTWAIT“请按任意键退出”TONCLOSEDATABASESETTALKONRETURN三条输入命令的异同ACCEPT命令只能接受字符型数据,不需定界符,输入完毕按回车键结束,如果不输入任何内容直接按回车键,系统会将空串赋给指定的内存变量;WAIT命令只能输入单个字符,且不需定界符,输入完毕不需按回车键;INPUT命令可接受数值型、字符型、逻辑型、日期型和日期时间型数据,数据形式可以是常量、变量、函数和表达式,如果是字符串,需用定界符,输入完毕按回车键结束,不允许不输入任何内容直接按回车键7.2程序的基本结构VisualFoxPro系统提供的命令丰富,且功能强大,把这些命令和程序设计语句有效地组织在一起,就形成了实现某一特定功能的程序。VisualFoxPro系统的程序有两个特点:一是程序控制流模式,由顺序、选择、循环三种基本结构构成。二是面向对象可视化的结构程序模块,在每一个模块的内部也是由程序控制流组成。常见的控制结构如下:1.顺序结构顺序结构是在程序执行时,根据程序中语句的书写顺序依次执行的命令序列。VisualFoxPro系统中的大多数命令都可以作为顺序结构中的语句。2.选择结构选择结构是在程序执行时,根据不同的条件,选择执行不同的程序语句,用来解决有选择、有转移的诸多问3.循环结构循环结构则能够使某些语句或程序段重复执行若干次。如果某些语句或程序段需要在一个固定的位置上重复操作,使用循环是最好的选择。4.过程结构在许多应用程序中,有一些程序段需要反复执行多次,这些程序段不在一个固定的位置上,而是分散在程序的许多位置上重复执行,可将其与嵌入它的程序分开,形成独立的程序序列,待使用时再调入程序中,以实现不同位置上的重复操作。这样做增强了程序的可读性和模块化。我们称这种具有独立功能而且可以被其它程序调用的程序序列为过程。选择结构形式有如下三种:1单向分支语句,即根据用户设置的条件表达式的值,决定某一操作是否执行。(1)语句格式:IF〈条件表达式〉〈命令行序列〉ENDIF(2)语句功能:该语句首先计算〈条件表达式〉的值,当〈条件表达式〉的值为真时,执行〈命令行序列〉;否则,执行ENDIF后面的第一条命令7.2.1选择结构条件式达式真语句序列假ENDIF之后语句【例5-4】求一元二次方程AX2+BX+C=0的实根。程序文件名为PROG6.PRGSETTALKOFFCLEARINPUT”a=”TOAINPUT“b=”TOBINPUT“c=”TOCZ=B^2-4*A*CIFZ=0X1=(-B+SQRT(Z))/(2*A)X2=(-B-SQRT(Z))/(2*A)?X1,X2ENDIFSETTALKONRETURN双向分支语句,即根据用户设置的条件表达式的值,选择两个操作中的一个来执行。(1)语句格式:IF〈条件表达式〉〈命令行序列1〉ELSE〈命令行序列2〉ENDIF(2)语句功能:该语句首先计算〈条件表达式〉的值,当〈条件表达式〉的值为真时,执行〈命令行序列1〉中的命令;否则,执行〈命令行序列2〉中的命令;执行完〈命令行序列1〉或〈命令行序列2〉后都将执行ENDIF后面的第一条命令。真条件式假语句序列2语句序列1ENDIF后面语句【例5-5】编写一密码校验程序(假设密码为ABC)。程序文件名为PROG7.PRGSETTALKOFFCLEARACCEPT“请输入您的密码:”TOAAAIFAAA=”ABC”CLEAR?”欢迎使用本系统!”ELSE?”密码错误!”WAITQUITENDIFSETTALKON2.多向分支多向分支语句,即根据多个条件表达式的值,选择执行多个操作中的一个对应执行(1)语句格式:DOCASECASE〈条件表达式1〉命令行序列1〉CASE〈条件表达式2〉命令行序列2……CASE〈条件表达式N〉命令行序列N[OTHERWISE〈命令行序列N+1〉]ENDCASE真条件式2语句序列1ENDCASE后面语句条件式1Otherwise条件式2真语句序列2真语句序列n-1有语句序列n无(2)语句功能:该语句根据给出的N个〈条件表达式〉的值,选择N+1个〈命令行序列〉中的一个执行。当所有CASE中〈条件表达式〉的值都是假的时候,如果有OTHERWISE项,则执行〈命令行序列N+1〉,再执行ENDCASE后面的第一条命令;否则,直接执行ENDCASE后面的第一条命令【例5-6】假设收入(P)与税率(R)的关系如下表,编程求税金。程序文件名为PROG8.PRGCASEP5000R=0.08OTHERWISER=0.1ENDCASETAX=P*R?”税金为:”,TAXSETTALKONRETURN0P<800R=0.05800≤P<20000.082000≤P<50000.1P≥5000SETTALKOFFCLEARINPUT“请输入收入:”TOPDOCASECASEP800R=0CASEP2000R=0.05(1)IF……ENDIF和DOCASE……ENDCASE必须配对使用,DOCASE与第一个CASE〈条件表达式〉之间不应有任何命令。(2)〈条件表达式〉可以是各种表达式或函数的组合,其值必须是逻辑值。(3)〈命令行序列〉可以由一个或多个命令组成,可以是条件控制语句组成的嵌套结构。(4)DOCASE……ENDCASE命令,每次最多只能执行一个〈命令行序列〉。在多个CASE项的〈条件表达式〉值为真时,只执行第一个〈条件表达式〉值为真的〈命令行序列〉,然后执行ENDCASE的后面的第一条命令使用选择语句应注意的几点7.2.2循环结构1.DOWHILE循环语句【格式1】DOWHILE条件表达式语句序列ENDDOENDDO后面的语句条件表达式式真循环体假一个循环结构一般应具备如下的条件1)循环的初始条件:一般为给循环控制变量赋初值;2)循环头:循环语句的起始,设置、判断循环条件3)循环尾:循环语句的结尾4)循环体:位于循环头和循环尾之间、循环控制重复执行的语句序列【格式2】DOWHILE条件表达式语句序列1[LOOP]语句序列2[EXIT]语句序列3ENDDOENDDO后面的语句条件表达式式真假循环体[LOOP][EXIT]•LOOP语句:强行返回到循环开始语句。•EXIT语句:强行跳出循环,接

1 / 43
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功