免费预览已结束,剩余25页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,本章要点,1理解和掌握程序的建立、修改和执行方法。 2熟练掌握基本输入与输出命令。 3熟练掌握程序的顺序、选择和循环三种控制结构。 4理解和掌握主程序、子程序、过程和自定义函数的概念和编写。 5. 理解和掌握函数与过程的概念。 6. 理解和掌握变量的作用域、过程的调用以及过程调用中的参数的传 递。,2,visual foxpro 6.0程序设计和面向对象程序设计两种程序设计与开发的类型。 过程化程序设计:它是采用结构化编程语句来编写的程序。这类方法的特点是容易把一个复杂的程序分解为若干个较小的过程,每个过程都可进行独立的调试。这类设计方法发展的总思想是从程序员角度考虑使程序设计更简单,而较少从使用角度去考虑。使用这类方法设计的程序流程完全由程序员控制,使用者只能做由程序员预先安排好的事情。,3,面向对象程序设计:这类程序设计思想是面向对象,即设计的重要任务在于描述对象。程序是由事件驱动的,因而,在执行过程中,持续等待的是一个发生在对象上的事件。而发生什么事件则要看使用者的操作,如单击、双击鼠标等。至于下一步的程序流向,则要看驱动的是什么事件。这类程序设计的主要目的是从任何方便与简化使用入手,由使用者控制程序流向,这在一定程序上增加了编程的难度。,4,8.1 程序与程序文件 8.2 程序的基本结构 8.3 过程和自定义函数 8.4 过程调用与函数传递,5,8.1 程序与程序文件,visual foxpro有两种工作方式,即人机交互对话方式和程序方式。 1.交互方式 命令方式 命令操作是在命令窗口中逐条输入命令,直接操作指定对象的操作方式。命令操作为用户提供了一个直接操作的手段,其优点是能够直接使用系统的各种命令和函数,有效操纵数据库,但要求熟练掌握各种命令和函数的格式、功能、用法等细节。,6, 菜单方式 使用菜单或工具栏中的按钮来完成任务对于数据库最终用户来说是最常用的一种工作方式。visual foxpro 6.0系统将许多命令做成菜单命令选项,用户通过选择菜单项来使用数据库的操作方式。 工具操作方式 vfp系统中提供了许多工具,分为设计器、向导、生成器等三种交互式的可视化开发工具。这些工具使创建表、表单、数据库、查询和报表已及管理数据变得轻而易举。,7,2.程序方式 程序操作就是预先将实现某种操作处理的命令序列编成程序,通过运行程序来实现操作、管理数据库的操作方式。根据实际应用需要编写的应用程序,能够为用户提供界面更简洁直观、操作步骤更符合业务处理流程和规范要求的操作应用环境。 程序是能够完成一定任务的命令的有序集合。这组命令被存放在称为程序文件或命令文件(以.prg为扩展名)的文本文件中。当运行程序时,系统会按照一定的次序自动执行包含在程序文件的命令。程序方式的特点: 可以利用编辑器,方便地输入、修改和保护程序。 可以用多种方式、多次运行程序。 可以在一个程序中调用另一个程序。,8,8.1.2程序文件的建立与执行,1.程序文件的建立与修改 程序文件的建立与修改是通过系统内置的文本编辑器来进行的。 打开文本编辑器窗口。在【文件】菜单下的【新建】菜单项中,选择【程序】可选项 ,并单击【新建文件】命令按钮。 在文本编辑窗口中输入程序内容。这里的编辑操作与普通文本文件的编辑操作没有什么不同。在这里输入的是程序内容,是一条条命令。这里输入的命令是不会被马上执行的。 保存程序文件。从【文件】菜单中选择【保存】命令或按ctrl+w键,然后在【另存为】对话框中指定程序文件的存放位置和文件名,并单击【保存】命令按钮。,9,2.程序文件的执行 一旦建好程序文件,就可以使用多种方式、多次执行它。 菜单方式: 从【程序】菜单中选择【运行】命令,打开【运行】对话框。 从文件列表框中选择要运行的程序文件,并单击【运行】命令按钮。 用命令方式运行程序文件的格式为: do with do命令默认运行.prg程序, do命令中的只需输入主文件名。要运行其它程序,中包括扩展名。,10,8.1.3简单的输入输出命令,通常,一个完整的程序总是包含“输入数据”、“处理数据”、“输出数据”三个过程。数据的输入和输出是很多程序要面临的问题。 1. input命令 格式:input to 功能:该命令等待用户从键盘输入数据,用户可以输入任意合法的 表达式。当用户以回车键结束输入时,系统将表达式的值存 入指定的内存变量,程序继续运行。,11,2. accept命令 格式:accept to 功能:该命令等待用户从键盘输入字符串。当用户以回车键结束输 入时,系统将该字符串存人指定的内容变量,程序继续运行。 3.wait命令 格式:wait to window timeout n 功能:该命令显示字符表达式之值作为提示信息,暂停程序的执行, 直到用户按任意键或单击鼠标时继续程序的执行。,12,8.2 程序的基本结构,程序结构是指程序中命令或语句执行的流程结构。程序有三种基本结构:顺序结构、选择结构和循环结构。 顺序结构是程序中最简单、最普遍使用的一种基本结构,其特点是按照语句排列的先后顺序依次执行。绝大多数问题仅用顺序结构时无法解决的。 选择结构的语句包括条件语句和分支语句。 1.条件语句 格式:if else endif,13,程序在执行过程中,遇到条件的判断,根据条件的真假从而决定执行哪一部分语句。 根据条件执行不同的程序分支,计算机进行逻辑判断的基本结构。如果的值为“真”,则执行if语句之后的;如果的值为“假”,而且包含else语句和,则执行;如果的值为“假”,而且不包含else语句和,则程序忽略if语句和endif语句之间的所有语句,程序从endif语句后的第一条命令开始继续往下执行其它程序。if和endif必须成对出现。,14,15,多分支语句实现一种扩展的选择结构,它可以根据条件从多组命令中选择一组执行。语句格式为: do case case case case ortherwise endcase,16,8.2.2 循环结构,根据条件或计数要求重复执行一段代码。在处理实际问题的过程中, 往往需要重复某些相同的步骤, 即对一段程序进行重复的操作。实现重复操作的程序, 称为循环结构程序。循环结构同分支结构一样, 是程序设计中不可缺少的语句。 visual foxpro的循环命令有三类:基于条件的循环、基于计数的循环和基于表的循环。,17,1. 基于条件的循环:do while命令 格式:do while exit loop enddo 参数描述: :指定一个逻辑表达式,它的值决定是否执行do while和enddo之间的命令集合。如果的值为“真”,就执行命令集。 :指定当计算为“真”时要执行的 loop :直接将程序控制返回到do while语句,并重新计算条件值。loop可以放在do while和enddo之间的任何位置。 exit :将程序控制从do while和enddo循环的内部转到enddo后的第一条命令。exit可以放在do while和enddo之间的任何位置。 enddo:表明do while语句的结束。,18,2. 基于计数的循环:for命令 格式:for = to step exit loop endfor/next 参数描述: :指定作为计数器的内存变量或数组元素。在执行forendfor语句之前,此内存变量或数组元素不一定存在。 to :是计数器的初始值,而是计数器的终止值。 step :是计数器递增或递减的步长。如果是负值,则计数器递减;如果省略step子句,计数器每次递增1。 :指定要执行的vfp命令,它可以包含任意数量的命令。 exit:将控制权交给紧接在endfor后面的命令。可以在for与endfor之间的任何地方放置exit。 loop :将控制权直接交给for子句,不再执行loop与endfor之间的语句。计数器正常递增或递减,就像执行到endfor子句一样。可以在for与endfor之间的任何地方放置loop。,19,3. 基于表的循环命令 格式:scan for while loop exit endscan 参数描述: :指定对当前表中记录扫描的范围。只有在范围之内的记录才有可能扫描到。scan命令的默认范围为all。 for :只有条件表达式的计算结果为“真”的记录,才能对其执行命令。包含for子句可以筛选出不想扫描的记录。 while :指定一个逻辑表达式作为执行命令的条件,只要逻辑表达式计算为“真”,就对记录执行命令,直到遇到使表达式不为“真”的记录为止。 :指定要执行的vfp命令集。 loop:把控制权直接交给scan子句。loop子句可以放在scan和endscan之间的任何地方。 exit:把控制权力从scanendscan循环语句交给endscan下面的命令。exit子句可以放在scan和endscan之间的任何地方。 endscan:标志scan过程的结束。 scan命令自动将记录指针移到下一条满足条件的记录,并执行相应的命令块。,20,8.3过程与自定义函数,在visual foxpro 6.0中,应用程序由过程、函数和其调用过程或函数构成。过程和函数可以将常用代码集中在一起,形成一个个功能模块,供应用程序调用,这样既提高了程序代码的严密性、可读性和可维护性,也提高了编程人员的编码效率。 习惯上,过程是为完成某个操作而编写的代码,而没有返回值。而函数是用来计算并具有一个返回值。,21,8.3.1 建立过程 在visual foxpro 中,过程的定义格式为: procedure 过程名 parameters lparameters 过程体 endproc 其中过程名为用户定义的名字,遵循标识符的规定。过程由procedure语句开始,以endproc语句结束。在过程中定义的参数,其作用域为该过程,若使用lparameters关键字,则表明参数为local;若使用parameters关键字,则表明参数为private。过程体为组成该过程的关键语句。,22,8.3.2 建立函数,在visual foxpro 中,函数的定义格式为: function 函数名 parameters lparameters 函数体 return endfunc 其中函数名为用户定义的名字,遵循标识符的规定。函数由function语句开始,以endfunc语句结束。在函数中定义的参数,其作用域为该函数,若使用lparameters关键字,则表明参数为local;若使用parameters关键字,则表明参数为private。函数体为组成该函数的关键语句。,23,8.4 过程调用与参数传递,变量的作用域指的是变量在什么范围内是有效或能够被访问的。 1公共变量 在任何模块中,包括主程序和子程序都可以使用的变量称为公共变量。公共变量要先建立后使用,可用下面两种方法建立公共变量: 在命令窗口中直接建立 在程序中使用public命令,其命令格式为: public 2. 私有变量 没有通过public和local命令事先声明而在程序中直接建立的变量都是私有变量。私有变量的作用域是建立它的模块以及其调用的下属各层模块。一旦建立它的模块程序运行结束,这些私有变量将自动清除。,24,3. 局部变量 只能在建立它的模块中使用的变量称为局部变量。当建立它的模块程序结束时,局部变量自动从内存中清除。局部变量用local命令建立。 格式:local 该命令建立的局部内存变量的初值为逻辑假.f.。由于local与locate前四个字母相同,所以这条命令的命令动词不能缩写。 4变量的隐藏 开发应用系统时,为了使主程序和子程序使用的变量不互相影响,在子程序中可以用命令把上级模块中使用的变量隐藏起来。隐藏命令private的两种格式为: private private all like | except ,25,8.4.2 过程的调用,1.调用过程 子程序或过程的编写和修改方式与一般的程序一样,不同的是过程的最后一个语句必须是返回语句(return),调用过程的程序是主程序,过程可以嵌套,即一个子程序可以再调用其它子程序,但不能形成循环嵌套。 子程序或过程的调用也是用do命令。 格式为: do in with 功能:执行过程名所指定的子程序。with用于主程序和子程序间参数的传递。,26,2.过程返回 格式:return /to master/to 功能:将程序控制权返回给调用程序。 参数描述: :指定返回给调用程序的表达式。如果省略return命令或省略返回表达式,则自动将“真”返回给调用程序。 to master:将控制权返回给最高层的调用程序。 to :将控制权返回给指定的过程。,27,3.过程文件 在实际的程序设计中,需要调用的过程不是一个或二个,而是几个、十几个甚至上百个,这就有可能使打开的文件数超过系统允许打开的文件数,而且将导致磁盘目录过于庞大,使系统调用文件的速度降低,程序执行速度也随之下降,因而有必要将若干个过程按一定的规定放在一个大文件中,这个文件称为过程文件。这样,只要对该文件读取一次,就能把若干个文件都读取进来,而无须多次进行磁盘读取操作,大大减少磁盘操作时间,提高系统运行效率。,28,8.4.3 参数的传递,无论是函数还是过程,参数的传递是一个非常重要的内容。parameters语句在函数中和在过程中所代表的意义是有区别的。对被调用函数而言,parameters只是一个参数输入语句。而在过程中,这个语句既是输入语句也可能是输出语句。 要理解参数的传递,必须先理解参数的概念。按照定义过程和调用过程时用到的参数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GB-T 40421-2021健康信息学 消息与通信 DICOM持久对象的网络访问》专题研究报告
- 2025年中国保险消费者研究报告
- 2024年执业药师(西药)《药理学》考前试题(一)及答案
- 淡水鱼类养殖工安全综合知识考核试卷含答案
- 《GBT 19215.4-2017 电气安装用电缆槽管系统 第 2 部分:特殊要求 第 4 节:辅助端》专题研究报告
- 镁精炼工岗后模拟考核试卷含答案
- 船舶货运员操作竞赛考核试卷含答案
- 电工合金冷变形工岗前内部控制考核试卷含答案
- 印后成型工诚信品质知识考核试卷含答案
- 工业车辆装配调试工安全教育水平考核试卷含答案
- 国元农业保险股份有限公司招聘笔试题库2024
- DB13-T 5810-2023 农田地膜残留监测技术规程
- 课内文言文知识点梳理(原文+注释+翻译) 统编版语文九年级下册
- 吨包包装称重器的研制与应用
- DL∕T 1802-2018 水电厂自动发电控制及自动电压控制技术规范
- 配方管理制度(2篇)
- 中级财务会计期末试题及答案
- 基于NB-IOT智能宿舍安防系统设计
- JT-T-489-2019收费公路车辆通行费车辆类型
- DL-T1555-2016六氟化硫气体泄漏在线监测报警装置运行维护导则
- 碳汇经济与美丽中国智慧树知到期末考试答案章节答案2024年东北林业大学
评论
0/150
提交评论