VF课件第七章应用程序设计基础

上传人:E**** 文档编号:91251476 上传时间:2019-06-26 格式:PPT 页数:57 大小:327.50KB
返回 下载 相关 举报
VF课件第七章应用程序设计基础_第1页
第1页 / 共57页
VF课件第七章应用程序设计基础_第2页
第2页 / 共57页
VF课件第七章应用程序设计基础_第3页
第3页 / 共57页
VF课件第七章应用程序设计基础_第4页
第4页 / 共57页
VF课件第七章应用程序设计基础_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《VF课件第七章应用程序设计基础》由会员分享,可在线阅读,更多相关《VF课件第七章应用程序设计基础(57页珍藏版)》请在金锄头文库上搜索。

1、第七章 应用程序设计基础,7.1 程序文件的建立与运行,VFP系统提供的命令十分丰富,而且功能强大。把这些命令和程序设计语句有效地组织在一起,形成实现某一特定功能的程序,能够更充分地体现VFP系统的特点。 VFP系统的程序有两个特点:一是程序控制流模式,由顺序、分支、循环三种基本结构构成,每一个基本结构可以包含一个或多个语句。二是面向对象可视化的结构程序模块,每个模块也是由程序控制流组成。,7.1.1 程序文件的建立和编辑,VFP程序文件,是一个以 .PRG为扩展名的文本文件。 1、建立和编辑程序文件 在VFP系统环境下,建立、编辑程序文件可以使用以下两种方法: (1)使用MODIFY COM

2、MAND命令建立、编辑程序文件 命令格式:MODIFY COMMAND 程序文件名 命令功能:在程序文件编辑窗口,建立或编辑以程序文件名为名的程序文件。,(2)用菜单方式建立、编辑程序文件 选择“文件”菜单中“新建”命令,进入“新建”窗口。 在“新建”窗口,选择“程序”,单击“新建文件”按钮,进入“程序文件”编辑窗口。 在“程序文件”编辑窗口,输入新的程序文件或修改已有的程序文件,输入完后,按Ctrl+W命令或单击常用工具栏中“保存”按钮存盘。,例如:以命令方式在当前盘的默认目录下,建立一个查看DA1表结构和内容的命令文件。 在命令窗口中输入:MODIFY COMMAND W1 在程序编辑窗口

3、中输入如下代码: SET TALK OFF CLEAR USE DA1 LIST STRUCTURE LIST USE SET TALK ON 按Ctrl+W存盘在当前盘的默认目录下建立一个W1.PRG程序文件。,说 明: (1)命令注释:程序中可以插入注释,以提高程序的可读性。 以NOTE或*号开头的代码行为注释行。命令行后也可添加注释,这种注释以符号&开头。注释为非执行语句,不影响程序的功能。 (2)命令分行 程序中每条命令都以回车键结尾,一行只能写一条命令。若命令行太长,需要分行书写,则应在附最后一行外的每一行末加续行符“;”,表示下一行是这一行的继续。,2、状态设置命令,在VFP中有一

4、系列以SET开头的状态设置命令,来设置在运行程序时VFP系统的一些状态。下面给出一些常用的设置命令。 (1)命令执行结果输出命令 命令格式:SET TALK ON|OFF 命令功能:选择ON时,许多数据处理命令在执行时都会返回一些有关执行状态的信息,这些信息通常会显示在VFP主窗口、状态栏或用户自定义窗口中;选择OFF时则这些信息不显示。缺省时为ON状态。,(2)命令行输出命令 命令格式:SET ECHO ON|OFF 命令功能:选择ON状态时,将在屏幕或打印机上输出命令行及运行结果,选择OFF状态只输出运行结果,不输出命令本身,缺省为OFF状态。 命令格式:SET PRINT ON|OFF

5、命令功能:选择ON状态时,接通打印机,选择OFF状态时,则断开打印机,缺省值为OFF状态。,(3)数据的输出语句 命令格式:SET DEVICE TO PRINT|SCREEN 命令功能:将SAY命令的结果送到打印机或屏幕。 说 明: 如果选用PRINT项,系统的输出便发往打印机,但执行该语句后并没有启动打印机。通过按Ctrl+P键或输入SET PRINT ON命令方式可使打印机启动。 若选用SCREEN选择项,则输出转向屏幕。,(4)ASCII码文本输出命令(TYPE) 命令格式:TYPE TO PRINT 命令功能:在屏幕上或打印机上输出ASCII码的非结构文件(文本文件)。 (5)命令文

6、件终止命令(CANCEL) 命令格式:CANCEL 命令功能:本命令终止命令文件的执行,并关闭所有打开的文件。可用于书写注释。,3、简单的输入输出命令,(1)INPUT 命令 命令格式:INPUT TO 命令功能:等待用户从键盘输入任意合法的表达式,按回车键 ,数据值存入指定的内存变量。 例如:输入数值型数据。 INPUT “请输入工资:” TO GZ 请输入工资:800.00 ?GZ 800.00 ?TYPE(GZ) 显示结果:N,(2)ACCEPT 命令 命令格式: ACCEPT TO 命令功能:等待用户从键盘输入字符串常量。按回车键,字符串存入指定的内存变量。 例如:提示用户输入姓名,显

7、示变量的值。 ACCEPT “请输入姓名:” TO XM 请输入姓名:张亮 ?XM 显示结果:张亮,(3)WAIT命令 命令格式: WAIT TO WINDOW AT , NOWAITCLEAR|NOCLEAR TIMEOUT 命令功能:该命令显示字符表达式的值作为提示信息,暂停程序的执行,直到用户按任意键或单击鼠标时继续程序的执行。 例如:WAIT “继续打印吗?(Y/N)”TO A 继续打印吗?(Y/N)Y ?A 显示结果:Y,7.1.2 程序文件的执行,1、命令方式 命令格式:DO WITH 命令功能:运行以程序文件名为名的程序文件。 2、菜单方式 (1)选择“程序”菜单中“运行”命令,

8、进入“运行”窗口。 (2)在“运行”窗口中选择或输入要运行的程序文件名。,7.1.3 程序文件的调试,使用程序调试工具的操作步骤如下: (1)选择“工具”菜单中“调试器”命令或在命令窗口中输入DEBUG命令,进入“调试器”窗口。 (2)在“调试器”窗口,选择“工具”菜单中“断点”,进入“断点”对话框。 (3)在“断点”对话框中,选择程序文件,设置程序的断点,使程序在执行时,遇到该断点则被挂起。 (4)在“调试器”窗口,选择“窗口”菜单中“监视”,可进入“监视”对话框。 (5)在“调试器”窗口,选择“窗口”菜单中“跟踪”,可进入“跟踪”对话框。,7.2 程序控制结构,程序结构是指程序中命令或语句

9、执行的流程结构。在VFP系统的应用程序中,常见的程序控制结构有顺序结构、选择结构和循环结构三种。 顺序结构是任何从简单到复杂的程序都离不开的主体基本结构,它按命令在程序中出现的先后次序依次执行。但是绝大多数问题仅用顺序结构是无法解决的,还要用到选择结构和循环结构。,7.2.1 选择结构程序设计,选择结构是VFP系统程序的基本结构之一,又称分支结构。选择结构语句有三种基本形式。 1、简单分支 语句格式: IF条件表达式 命令序列 ENDIF 语句功能:当条件为真时,执行IF和ENDIF之间的命令序列;当条件为假时,执行ENDIF后面的语句。,例如:检查DA.DBF中有无工资低于650元的记录,如

10、果有,则显示该记录的信息,然后显示全部记录。程序如下: SET TALK OFF USE DA LOCATE FOR 工资 650.00 IF .NOT.EOF() DISPLAY ENDIF LIST SET TALK ON,2、选择分支语句 语句格式: IF ELSE ENDIF 语句功能:当条件为真时,先执行,然后再去执行ENDIF后面的语句;当条件为假时,先执行,然后再转去执行ENDIF后面的语句。,例如:铁路托运行李,假设每张车票可按每Kg0.5元托运50Kg以内的行李,如果超过50Kg时,超过的部分每Kg加价0.3元。计算公式为 X=0.5W (当W50Kg) X=0.550+0.

11、8(W-50) (当W50Kg) 程序如下: SET TALK OFF INPUT “请输入行李的重量为:” TO W IF W=50 X=0.5*W ELSE X=0.5*50+0.8*(W-50) ENDIF ?“行李的重量为”+STR(W,6,2)+“Kg,其运费为:” +STR(X,6,2)+“元” SET TALK ON RETURN,X=,3、IF条件语句的嵌套,语句格式: IF ELSE IF ELSE IF ELSE ENDIF ENDIF ENDIF,语句功能:此种嵌套语句可以对复杂情况进行各种判断。 说 明:在这种嵌套形式中,要求每一层的IF和ELSE及ENDIF必须一一对

12、应。IF-ELSE-ENDIF每个命令各占一行,不能在同一行出现。,4、多路分支语句 语句格式: DO CASE CASE CASE OTHERWISE ENDCASE,语句功能:执行此命令时,系统从头依次查看每一个CASE的条件表达式,只要某一个条件表达式的值为真,就执行该条件下的语句组,其他条件下的语句组都跳过去,接下来执行ENDCASE后面的语句。OTHERWISE是一个可选项,若所有的条件都不成立,则执行OTHERWISE后面的语句;如果没有可选项OTHERWISE,则所有的条件都不成立,接着执行ENDCASE后面的语句。,例如:计算分段函数值: 2x-1 (x=10) 程序代码如下:

13、 SET TALK OFF INPUT “输入 X 的值:” TO X DO CASE CASE X0 F=2*X-1,CASE X=0 AND X=3 AND X=5 AND X10 F=5*X-3 OTHERWISE F=7*X+2 ENDCASE ? ?“F(X)=“,F SET TALK ON RETURN,7.2.2 循环结构程序设计,1、DO WHILE-ENDDO语句 语句格式: DO WHILE LOOP EXIT ENDDO 语句功能:当条件表达式的值为真时,始终执行语句组;否则执行ENDDO后面的语句。,例如:以显示方式输出110的数字。 SET TALK OFF CLEA

14、R I=1 DO WHILE I =10 ? I I=I+1 ENDDO 语句I=I+1就是用来修改循环条件的,如果没有这一句,I的值永远等于是,上述循环就成为一个死循环。,例如:统计职工表ZGDA.DBF中,职称是讲师和副教授,年龄为45岁以下的教师人数。 程序如下: SET TALK OFF STORE 0 TO C,W USE ZGDA DO WHILE .NOT.EOF( ) DO CASE CASE (年龄45).and.职称=“讲师” W=W+1 CASE (年龄45).and.职称=“副教授” C=C+1 ENDCASE SKIP ENDDO ?“讲师45岁以下的人数为:”,W

15、?“副教授45岁以下的人数为:”,C SET TALK ON RETURN,(5)如果循环体中包含LOOP语句,则当遇到LOOP时,就结束循环体的本次执行,不再执行其后面的语句,而转到DO WHILE开始处重新判断条件。 例如:在双重循环中,LOOP语句在内循环体中,当执行到LOOP语句时,它跳回到内循环的DO WHILE的开始处,重复对的判断。 DO WHILE DO WHILE LOOP ENDDO ENDDO,例如:将DA1.DBF表中凡是工资小于700元的增加100元。 SET TALK OFF USE DA2 DO WHILE .NOT.EOF() IF 工资=700 SKIP LO

16、OP ENDIF REPLACE 工资 WITH 工资+100 SKIP ENDDO SET TALK ON RETURN,例如:求0100之间的奇数之和。 SET TALK OFF X=0 Y=0 DO WHILE X100 X=X+1 IF INT(X/2)=X/2 LOOP ELSE Y=Y+X ENDIF ENDDO ? “0100之间的奇数之和为:”,Y SET TALK ON CANCEL,(6)如果循环体中包含EXIT语句,则当遇到EXIT时,就结束该循环的执行,转去执行ENDDO后面的语句。 例如:计算1+2+3+100的和。 SET TALK OFF S=0 DO WHILE .T. IF N100 EXIT ENDIF S=S+N N=N+1 ENDDO ? “1+2+

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号