版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章Visual FoxPro计算机编程基础、牙齿章节中的学习目标、牙齿章节指示读者应了解以下内容1、节目和节目档案2、程序的基本结构3、模块化计算机编程4、节目调试、7.1.1程序的概念:在Visual FoxPro中创建和执行7.1.2程序文档1创建和修改程序文档Visual FoxProPRG)。7.1节目和节目档案、Visual FoxPro系统环境中有多种茄子方法用于创建和编辑节目文件。这里主要介绍命令方法和菜单方法。(1)命令方法: MODIFY COMMAND (2)菜单方法2节目档案可执行节目文件是节目文件中的每个命令或语句的依次执行。运行节目文件的方法有命令和菜单。(1)命
2、令方法:DO (2)菜单方法在Visual FoxPro系统环境中,从“节目”菜单中选择“运行命令”选项,以确定或输入要在显示的对话框中运行的节目档案名称。和7.1.3程序中常用的命令1交互式输入输出命令(1) INPUT命令INPUT TO (2)字符串输入命令ACCEPT TO (3)单字符输入命令3360 WAIT TO WINDOWAT,NOWAIT CLEAR3用于设置环境的命令(1)关闭对话框的命令SET TALK ONOFF (2)设置跟踪命令SET ECHO ONOFF (3)设置打印命令SET PRINTER ONOFF (4)设置方向输出命令set device to sc
3、reen to printer建立PRG。示例7-6 WAIT命令的使用示例、7.2程序的基本结构、Visual FoxPro中的结构化计算机编程主要是系统提供的结构化语句配置、节目的基本结构三个茄子:顺序结构、分支结构和循环结构。每个基本结构可以包含一个或多个语句。顺序结构是指程序按门排列的先后顺序逐个执行。程序中最简单、最常用的基本结构。在Visual FoxPro中,大多数命令都可以使用顺序结构的语句进行编程。7.2.1分支结构单向分支单向分支,即根据用户设置的条件表达式的值确定是否运行作业。commandIF ENDIF示例7-7节目P6。建立PRG。节目功能是找出两个数字中最大的值。
4、(2)双向分支双向分支,即根据用户设置的条件表达式的值选择要执行的两个操作之一。门 IF ELSE ENDIF 示例7-8节目P7。建立PRG。节目功能是输入要查询的学生名称,以显示学生基本情况。(3)多向分支多向分支,即根据多条件表达式的值选择要执行的多个操作之一。语句 do casecasecase,OTHERWISE ENDCASE,示例7-9创建节目P8。PRG,节目功能计算段函数值:7.2.2,示例711节目P10。建立PRG。节目功能为S=1 2 3 100计算。牙齿程序应该使用循环结构,解题的想法总结为变量S和I的引入这两个茄子点。s用于存储累积结果,初始值为0。I是控制累积数据
5、和循环条件是否成立的变量,初始值为1。重复命令S=S I和I=I 1,直到I值超过100。每次运行时,S值增加I,I值增加1。2FORENDFOR语句根据用户设置的循环变量的初始值、最终值和步骤确定循环正文语句的执行次数。牙齿语句通常用于在已知循环数的情况下实现循环结构。门 for=to step loop exit end for | next,7-12节目P11。建立PRG。节目功能是找出100999之间所有水仙花的数量。“水仙花数”是指3个数字,你们数字的立方及其数目本身(例如153=13 53 33)。解决牙齿问题的关键是知道如何将3位数中的你的数字分开。这里有两种茄子方法。其中I表示
6、3位、A、B和C分别表示100位、10位和3位数字。3SCANENDSCAN语句牙齿循环语句通常用于处理表中的记录。根据您设置的当前唱片指针循环浏览唱片组。门 SCAN FOR WHILE ENDSCAN 示例7-13节目P12。建立PRG。节目功能是指针循环统计学生表中学校总分数超过510分的学生数。4多循环多循环意味着在一个循环语句中包含另一个循环语句。多个回路也称为回路复叠。下面以条件循环为例进行说明。门DO WHILE DO WHILE ENDDO ENDDO ENDDO示例714节目P13。建立PRG。节目功能是使用多循环打印九乘法公式表。7.2.3编程示例示例7-15节目P14。建
7、立PRG。节目功能是计算。T=1!2!10!示例7-16首先,将平均成绩N (6,2)字段添加到学生表格中。然后根据选课表统计每个学生成绩的平均成绩,并写在新添加的字段中。示例7-17输出3100之间的所有小数。示例7-18编写查询学生情况的步骤。根据给定的学号,要求查找并显示学生名和各科目的成绩。示例7-19查找该行中最大和该列中最小的二维数组之一。可能有一个或多个,也可能没有。对所有情况都要输出相关信息。7.3模块化计算机编程,应用程序是多模块程序,通常包含多个节目模块。模块是相对独立的节目段,可以由其他模块调用或调用其他模块。通常,其他模块调用的模块称为过程或子程序,而不是其他模块调用的
8、模块称为主程序。将应用程序分成相对简单的单个模块程序,不仅有助于节目开发,而且有助于节目的读取和维护。7.3.1过程和过程调用1过程和过程调用按照与常规程序相同的方式设置进程。但是,每个过程都必须有返回语句。返回语句 RETURN TOTO MASTER 调用命令 DO或()示例720节目P14。建立PRG。功能是S=X!y!z!2进程档案进程(或子节目)作为一个文件独立存储在磁盘上,多个进程可以记录在一个进程文件中,以提高系统的操作效率。一个进程文件由多个进程组成,进程文件的扩展名仍然是。PRG。(1)创建流程文档命令 MODIFY COMMAND,过程文件的默认写入格式:PROCEDURE
9、 function return end procend func PROCEDURE function return end procend func pprocedure涉及三个档案:节目档案f1.prg。其中代码是主程序,另一个进程是P1。节目档案f2.prg由主程序作为子程序调用。流程档案f3.prg包含两个流程p2和P3牙齿。示例722节目P15。建立PRG。节目的功能是求3到100之间的所有小数。7.3.2变量作用域和参数调用1变量作用域计算机编程,尤其是模块程序中经常使用很多内存变量。其中一些内存变量在节目执行过程中起作用,有些内存变量仅在特定节目模块中起作用。内存变量的这种范围
10、称为内存变量的作用域。内存变量的作用域范围可以分为公共变量、私有变量和本地变量,具体取决于范围。(1)公共变量公共变量是程序中所有嵌套和节目执行期间始终有效的变量。节目运行完成后,不会自动从内存中释放。公共变量定义如下:command PUBLIC(2)专用变量由程序直接使用(未通过PUBLIC和LOCAL命令预先声明),由系统自动抑制设置的变量是专用变量。个人变量的作用域是其模块及其负载的各个层模块。模块节目运行结束后,这些专用变量将自动清除。(3)局部变量局部变量仅在设置了这些变量的模块中可用,在父模块或子模块中不可用。设置此设置的模块节目运行结束后,将自动发布本地变量。使用LOCAL命令
11、设置本地变量:(command LOCAL示例7-23公共变量、私有变量、本地变量和作用域示例,(4)PRIVATE命令的语法格式为privateprivate allike | except示例7-25 local和PRIVATE命令的比较示例。7.3.3过程中的参数调用1,参数调用命令 DO WITH或()参数命令 PARAMETERS |LPARAMETERS 示例7-26按值传递和按引用传递示例。示例7-27传递整个数组示例。示例7-28节目P17。建立PRG。节目功能是使用收购调用方法计算梯形面积。7.4节目调试,在7.4.1调试器环境中调用调试器的方法通常有两种,即从“工具”菜单中
12、选择“调试器”命令。在命令窗口中,输入DEBUG命令。调试器窗口打开,进入调试器环境。在调试器窗口中,您可以根据需要打开五个子窗口(跟踪、监视、本地、调用堆栈和调试输出)。若要打开子窗口,请从“调试器”窗口的“窗口”菜单中选择相应的命令。要关闭子窗口,只需单击窗口右上角的关闭按钮。以下是每个子窗口的角色和使用特征:1跟踪窗口用于显示正在调试运行的节目文件。若要打开需要调试的程序,请从“调试器”窗口的“档案”菜单中选择“打开”命令,然后在打开的对话框中选择所需的节目文件。选定的节目文件显示在“跟踪”窗口中,以便调试和观察。跟踪窗口左端的灰色区域显示一些符号。一般符号和意义如下:指向调试正在运行的
13、代码行。断点。您可以在某些代码行上设置“断点”,当程序作为代码行运行时,中断程序将运行。您可以控制是否显示行号,方法是在Visual FoxPro系统选项“对话框调试”选项卡中选择“跟踪单选按钮”,然后启用“显示行号”复选框。2监控窗口用于在节目调试运行期间监控指定表达式的值更改。要设置监视表达式,请在单击窗口中选择“监视”文本框,然后输入表达式的内容。按回车键键将表达式添加到文本框下的列表框中。运行节目调试时,列表框中会显示所有监视表达式的名称、当前值和类型。您可以编辑双击列表框中的监视表达式。在单击列表框中,鼠标右键单击监视表达式,然后从弹出快捷菜单中选择“删除监视”,即可删除监视表达式。
14、可以在“监视”窗口中设置表达式类型断点。3部分窗格在模块节目(节目、过程和方法节目)中显示内存变量(简单变量、数组和对象),并显示其名称、当前值和类型。您可以从“位置”下拉列表框中选择指定模块程序。下面的列表框显示了该模块节目中有效(可见)内存变量的当前状态。通过单击局部窗口,然后从弹出快捷菜单中选择“公用”、“局部”、“主视图”或“对象”命令,可以控制列表框中显示的变量种类。4调用堆栈窗口用于显示当前正在运行的节目、过程和方法程序。如果正在运行的程序是子程序,则主程序和子程序的名称都将显示在窗口中。符号通常显示在模块节目名称的左侧。一般符号和意义如下:呼叫顺序序号:序号较小的模组程式位于较高层次,且是呼叫者。序列号大的模块程序位于较低层,是调用程序。序列号最大的模块程序是当前运行的模块程序。当前行指示器():指向当前正在运行的行所在的模块程序。透过从快显功能表中选取原始位置和目前程序指令,控制是否显示两个符号。5调试输出窗口可以在模块程序中放置某些DEBUGOUT命令。DEBUGOUT模块节目调试在运行牙齿命令时计算表达式值,并将计算结果发送到调试输出窗口。要将调试输出窗口的内容保存到一个文本文件中,可以从调试器窗口的“档案”菜单中选择“将输出另存为”命令,或从快捷菜单中选择“另存为”命令。要清
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版跨境电商平台佣金比例调整合同3篇
- 二零二五版个人教育贷款担保合同模板3篇
- 二零二五年建筑装修帮工雇佣合同2篇
- 二零二五版寄卖合同范本:艺术品寄售代理中介服务协议2篇
- 二零二五版办公设备智能化升级改造合同5篇
- 二零二五版桥梁工程劳务分包合同模板6篇
- 二零二五版职工住房借款与社区文化活动支持合同3篇
- 二零二五年度黄牛养殖与屠宰行业购销法律法规遵守合同3篇
- 二零二五年铝艺门安装与外观设计承包合同3篇
- 二零二五年度电商代发货及品牌授权合同2篇
- 大型活动LED屏幕安全应急预案
- 舞蹈课家长会
- 2024年内蒙古包头市中考道德与法治试卷
- 湖南省长沙市2024-2025学年高二上学期期中考试地理试卷(含答案)
- 自来水质量提升技术方案
- 金色简约蛇年年终总结汇报模板
- 农用地土壤环境质量类别划分技术指南(试行)(环办土壤2017第97号)
- 反向开票政策解读课件
- 工程周工作计划
- 房地产销售任务及激励制度
- 六年级语文下册14文言文二则《学弈》课件
评论
0/150
提交评论