下载

5下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 《Visual FoxPro程序设计》授课课件5

《Visual FoxPro程序设计》授课课件5.ppt

《Visual FoxPro程序设计》授课课件5

517769850lin
2011-04-09 0人阅读 举报 0 0 暂无简介

简介:本文档为《《Visual FoxPro程序设计》授课课件5ppt》,可适用于高等教育领域

授课班级工程班主讲教师:黄晗二O一一年三月VisualFoxPro程序设计VisualFoxPro程序设计VisualFoxPro程序设计实用教程VisualFoxPro程序设计指令:指挥计算机完成某一基本操作的命令程序:用计算机语言将相关指令按某种语法规则组合起来完成特定功能的指令集源程序:用计算机语言编写出来的初始程序可执行程序:把源程序经过编译后形成计算机可以识别的二进制代码程序相关程序设计的几个概念VisualFoxPro结构化程序设计()创建与修改程序文件命令方式MODIFYCOMMAND〈程序文件名〉菜单方式打开“文件”菜单选择“新建”在“新建”窗口选择“程序”再选择“新建文件”在“程序文件”编辑窗口输入程序文件并保存此时建立程序文件的操作结束。VisualFoxPro结构化程序设计程序的创建与维护()运行程序文件()运行程序文件菜单方式以菜单方式调用程序文件操作方法如下:()在VisualFoxPro系统主菜单下打开“程序”菜单选择“运行”。()在“运行”窗口输入被调用的程序文件名即可。命令方式在Command窗口中输入如下命令则程序文件被调用。DO路径程序文件名VisualFoxPro结构化程序设计()编程时的一般规则修改程序文件时可以从菜单“文件”中选择“打开”命令从屏幕显示的“打开”对话框中选择要修改的文件在文件编辑器窗口中进行编辑修改程序。()编程时的一般规则每行只能写一条命令每条命令以回车换行作为结束标志一条命令一行写不下时可以分多行输入在未输入完的数据后加分号()然后回车换行系统会把此行作为前一行的续行“*”“”“NOTE”用来作为程序的说明的符号和命令“*”及“NOTE”只能放在一行的前面而“”可以放在前面或后面。()维护程序VisualFoxPro结构化程序设计CLEAR语句:【格式】CLEAR【功能】清除屏幕信息语句SETTALKONOFF语句:【格式】SETTALKONOFF【功能】命令执行的结果传送不传送到屏幕上程序运行结束命令:l    QUIT返回操作系统l    CANCEL返回VisualFoxPro“命令”窗口l    RETURN返回调用处.程序设计辅助语句命令VisualFoxPro结构化程序设计顺序结构选择结构循环结构类型类型当型循环直到型循环.结构化程序设计基础VisualFoxPro结构化程序设计在结构化程序设计方法中程序基本控制结构有三种:顺序结构分支结构循环结构。()顺序结构顺序结构是一种线形结构是最基本的程序结构它是按照命令或语句的排列顺序依次执行。.结构化程序基础VisualFoxPro结构化程序设计在结构化程序设计方法中程序基本控制结构有三种:顺序结构分支结构循环结构。一、顺序结构例题:.打开F盘里个人文件夹中的工作表CJDBF将“学号”按升序进行排序再打开排好序后的工作表每个学生将语文、数学、英语三门课程的总分记录到CCJ字段里然后把该工作表的全部记录按分屏方式在屏幕上显示最后关闭该工作表。.将工作表DAXXDBF中的“出生日期”补充完整该字段按的数据来源是表中的“身份证号”字段并在该表中找出学号为“”的学生将该生的“联系电话”送给变量lxthbl最后把全部“未注册”的学生进行逻辑删除。有三种基本形式:、单条件选择结构单分支结构是一种IF-ENDIF分支结构格式:IF<条件表达式><语句序列>EDNIF功能:条件表达式的值为真(T)则执行“语句序列”否则为假(F)则直接执行EDNIF后续语句()选择结构VisualFoxPro结构化程序设计双向分支结构双向分支语句即根据用户设置的条件表达式的值选择两个操作中的一个来执行。是一种IF-ELSE-ENDIF选择结构格式:IF<条件表达式> <语句序列>ELSE<语句序列>ENDIF功能:表达式为真则执行“语句序列”再执行EDNIF的后续语句为假则执行“语句序列”再执行EDNIF的后续语句。VisualFoxPro结构化程序设计、多分支条件选择语句(多路选择)是一种DO CASE-ENDCASE分支结构格式:DO CASECASE<条件表达式> <语句序列>CASE<条件表达式> <语句序列>……CASE<条件表达式n><语句序列n>[OTHERWISE <语句序列n>]ENDCASE条件语句序列条件n。。。语句序列nOTHERWISEyNNyVisualFoxPro结构化程序设计功能:依次判断条件-n的表达式当遇到第一个条件为真时则执行该表达式对应的语句序列然后转去执行ENDCASE的后续语句若前几个表达式都为假则执行OTHERWISE的语句序列然后执行ENDCASE的后续语句。VisualFoxPro结构化程序设计使用分支语句应注意的几点()IF……ENDIF和DOCASE……ENDCASE必须配对使用DOCASE与第一个CASE〈条件表达式〉之间不应有任何命令。()〈条件表达式〉可以是各种表达式或函数的组合其值必须是逻辑值。()〈命令行序列〉可以由一个或多个命令组成可以是条件控制语句组成的嵌套结构。()DOCASE……ENDCASE命令每次最多只能执行一个〈命令行序列〉。在多个CASE项的〈条件表达式〉值为真时只执行第一个〈条件表达式〉值为真的〈命令行序列〉然后执行ENDCASE的后面的第一条命令。VisualFoxPro结构化程序设计例:从键盘输入一个学生的成绩按下述规定输出:分-分 输出“优秀”分-分 输出“良好”分-分 输出“及格”分分 输出“不及格”VisualFoxPro结构化程序设计()循环结构()循环结构常用的循环语句有以下三种形式:()DOWHlLE…ENDDO循环“当”型循环控制语句即根据条件表达式的值决定循环体内语句的执行次数。语句格式:DOWHILE〈条件表达式〉〈命令行序列〉ENDDO语句功能:该语句通过〈条件表达式〉的值来控制循环。执行语句时反复判断〈条件表达式〉的值当〈条件表达式〉的值为“真”时执行〈命令行序列〉否则结束循环并执行ENDDO后面的第一条命令。VisualFoxPro结构化程序设计举例举例例:计算S=+++……++的值。VisualFoxPro结构化程序设计FOR…ENDFOR循环即根据用户设置的循环变量的初值、终值和步长决定循环体内语句的执行次数。语句格式:FOR〈循环变量〉=〈循环变量初值〉TO〈循环变量终值〉[STEP〈循环变量步长〉]〈命令行序列〉ENDFOR().FOR…ENDFOR循环VisualFoxPro结构化程序设计语句功能:该语句用〈循环变量〉来控制〈命令行序列〉的执行次数。执行语句时首先将〈循环变量初值〉赋给〈循环变量〉然后判断〈循环变量〉是否大于或小于〈循环变量终值〉若结果为“真”则结束循环执行ENDFOR后面的第一条命令否则执行〈命令行序列〉〈循环变量〉自动按〈循环变量步长〉增加或减少再重新判断〈循环变量〉当前的值是否大于或小于〈循环变量终值〉直到其结果为真。VisualFoxPro结构化程序设计例:用FOR…ENDFOR循环求~之间的奇数之和。VisualFoxPro结构化程序设计SCANENDSCAN循环即根据用户设置的表中的当前记录指针决定循环体内语句的执行次数据。语句格式:SCAN[〈范围〉][FOR〈条件表达式〉WHILE〈条件表达式〉]〈命令行序列〉ENDSCAN.SCANENDSCAN循环VisualFoxPro结构化程序设计语句功能:该语句在指定的范围内用数据记录指针来控制循环次数。执行语句时首先判断函数EOF()的值若其值为“真”则结束循环否则结合〈条件表达式〉或〈条件表达式〉执行〈命令行序列〉记录指针移到指定的范围和条件内的下一条记录重新判断函数EOF()的值直到函数EOF()的值为真时结束循环。VisualFoxPro结构化程序设计例:用FOR…ENDFOR循环求~之间的奇数之和。VisualFoxPro结构化程序设计.外部过程外部过程也叫子程序和主程序一样是以程序文件(PRG)的形式单独存储在磁盘上。子程序是指能被其他程序调用的程序。通常情况下被调用的称为子程序调用它的称为主程序。子程序中必须使用的条命令是返回命令RETURN格式为:RETURN<表达式>功能是返回到调用该子程序的上级程序一、过程及过程调用VisualFoxPro模块化程序设计【例】分别建立如下程序文件*正在执行主程序PPRGSETTALKOFFclearDOPASETTALKON*PAPRG"正在执行PA"RETURNVisualFoxPro模块化程序设计.内部过程:.内部过程:把多个过程组织在一个文件中(这个文件称之为过程文件)或者把过程放在调用它的程序文件的末尾。VFP为了识别过程文件或者程序文件中的不同过程规定过程文件或者程序文件中的过程必需用PROCEDURE语句说明从而建立过程文件。VisualFoxPro模块化程序设计.过程文件的建立.过程文件的建立【格式】*过程文件名PROCEDURE<过程名><命令序列>RETURN…PROCEDURE<过程名n><命令序列n>RETURN过程文件中的每个子过程必须以PROCEDURE语句开头后面跟过程名每个子过程以RETURN语句结束。VisualFoxPro模块化程序设计.过程文件的打开.过程文件的打开调用过程文件前应先打开相应的过程文件。【格式】SETPROCEDURETO<过程文件名>.PRG文件名…ADDITIVE【功能】打开过程文件。调用过程和调用于程序一样使用DO过程名命令来调用指定的子过程。VisualFoxPro模块化程序设计.过程文件的调用【格式】DO〈过程名〉WITH<参数表>【功能】执行以〈过程名〉为名的过程即执行已有的过程。.过程文件的返回【格式】RETURN[TOMASTER|TO〈过程名〉]【功能】将控制返回到调用程序中调用命令的下一语句即返回过程的调用处。VisualFoxPro模块化程序设计.过程文件的关闭.过程文件的关闭当过程文件调用结束后应及时关闭过程文件。使用下列命令关闭过程文件:()SETPROCEDURETO()CLOSEPROCEDURE【例】、【例】、【例】VisualFoxPro模块化程序设计.过程调用中的参数传递.过程调用中的参数传递过程可以没有或有多个参数多个参数由逗号隔开。带参程调用命令在主程序中的调用格式:.有参过程中的形式参数定义有参过程中的形式参数定义语句为:【格式】PARAMETERS<参数表>【功能】该语句必需是过程中第一条语句。<参数表>中的参数可以是任意合法的内存变量名。VisualFoxPro模块化程序设计.程序与被调用过程间的参数传递程序与被调用过程间的参数传递是通过过程调用语句DO<过程名>WITH<参数表>中WITH<参数表>子句来实现的。【格式】DO<文件名>|<过程名>WITH<参数表>VisualFoxPro模块化程序设计【说明】DO命令<参数表>中参数称为实际参数PARAMATERS命令<参数表>中的参数称为形式参数。两个<参数表>中的参数必须相容即个数相同类型和位置一一对应实际参数可以是任意合法表达式形式参数是过程中的局部变量用来接收对应实际参数的值参数的传递模式:按值传递 按值传递时传递给被调用过程(子过程)参数的是调用过程(父过程)调用时所使用的值。一般实参是一个变量或是一个表达式。按地址传递如果实参是一个变量(而不是表达式)则传递给形参的是该变量的地址。这是形参和实参是同一个变量在过程中改变形参的值会同时改变实参的值。默认模式下变量按地址传递方式向过程传递按值传递方式向函传递。VisualFoxPro模块化程序设计变量的作用域变量的作用域.公共变量公共变量是指在所有程序模块中都可以使用的内存变量。公共变量要先建立后使用。【格式】PUBLIC<内存变量表>【功能】该命令的功能是建立公共的内存变量并为它们赋初值逻辑假F【说明】当定义多个变量时各变量名之间用逗号隔开用PUBLIC语句定义过的内存变量在程序执行期间可以在任何层次的程序模块中使用变量定义语句要放在使用此变量的语句之前否则会出错任何已经定义为公共变量的变量可以用PUBLIC语句再定义但不允许重新定义为局部变量使用公共变量可以增强模块间的通用性但会降低模块间的独立性。.局部变量局部变量是指在建立它的程序以及被此程序调用的程序中有效的内存变量。【格式】LOCAL<内存变量表>【功能】该命令的功能是建立指定的内存变量并为它们赋初值逻辑假F【说明】由于该命令LOCAL与LOCATE的前个字母相同所以这条命令的动词不能缩写。在程序中没有被说明为公共变量的内存变量都被看作是局部变量。在子程序中可以用PRIVATE命令隐藏主程序中可能存在的变量使这些变量在子程序中暂时无效。命令格式为:【格式】PRIVATE<内存变量表>【格式】PRIVATEALLLIKE|EXCEPT<通配符>【说明】用PRIVATE语句说明的内存变量只能在本程序及其下属过程中使用退出程序时变量自动释放用PRIVATE语句在过程中说明的局部变量可以与上层调用程序出现的内存变量同名但它们是不同的变量在执行被调用过程期间上层过程中的同名变量将被隐藏。.私有变量在程序中直接使用而由系统自动隐含建立的变量都是私有变量。私有变量的作用域是建立它的模块及其下属的各层模块。一旦建立它的模块程序运行结束这些私有变量将自动清除。【格式】PRIVATE<内存变量表>ALLLIKE|EXCEPT<通配符>自定义函数自定义函数【格式】FUNCTION<函数名称>(变量名称)<语句序列>RETURN<返回值>ENDFUNC【功能】用户自己定义一个函数。【例】利用自定义函数求X!Y!

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/41

《Visual FoxPro程序设计》授课课件5

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利