版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第14章VFP程序设计基础学习要点1、过程化程序设计和面向对象程序设计的基本概念及设计方法;2、过程化程序设计的语言基础,程序设计基本结构;11.1 VFP6程序设计基本概念一、一个例子VFP6支持过程化程序设计和面向对象程序设计两种程序设计与开发的类型。 下面是一个完整的VFP过程化程序,可以引出几个基本概念。*功能说明:求圆形的面积。*文件名:L501.PRGCLEARSET TALK OFFINPUT 请输入圆的半径,半径= TO RS=PI()*R*R? 半径为+ALLTRIM(STR(R)+的圆,面积=,SSET TALK on RETURN 1、从形式上看,VFP的程序是由若干有序
2、的命令行组成,且满足下列规则:(1)一个命令行内只能写一条命令,命令行以回车键结束。(2)、一个命令行可以由若干个行,在行未用“;”作续行符。(3)为便于阅读,可以按一定的格式输入程序,即一般程序结构左对齐,而控制结构内的语句序列比控制结构的语句缩进若干格。2、从功能上看,程序可以分为三个部分:第一部分是程序的说明部分,在本例程序中是前面的二行,一般用于说明程序的功能、文件名等需要说明的有关信息。第二部分是进行数据处理的部分,在本例程序中是从第3行开始的7行。通常这部分程序常包括下列三个部分,依次为:环境设置、数据处理、环境恢复。 第三部分是程序的控制返回部分,在本例中就是最后一条命令。它控制
3、程序返回到调用该程序的调用处。 二、过程化程序设计与面向对象程序设计 过程化程序设计:它是采用结构化编程语句来编写的程序。这类方法的特点是容易把一个复杂的程序分解为若干个较小的过程,每个过程都可进行独立的调试。这类设计方法发展的总思想是从程序员角度考虑使程序设计更简单,而较少从使用角度去考虑。使用这类方法设计的程序流程完全由程序员控制,使用者只能做由程序员预先安排好的事情。 面向对象程序设计:这类程序设计思想是面向对象,即设计的重要任务在于描述对象。程序是由事件驱动的,因而,在执行过程中,持续等待的是一个发生在对象上的事件。而发生什么事件则要看使用者的操作,如单击、双击鼠标等。至于下一步的程序
4、流向,则要看驱动的是什么事件。这类程序设计的主要目的是从拥护方便与简化使用入手,由使用者控制程序流向,这在一定程序上增加了编程的难度。 102程序设计基本操作一一、程序文件建立、修改与运行create comm. 文件名moid comm. 文件名 do 文件名 参数yi 一败涂地 、常用环境设置1.set century on|off on: 年份为4为 off :年份为2位2Set date to 格式设置 格式AMERICAN mm/dd/yyANSI yy.mm.ddBRITISH/FRENCH dd/mm/yyGERMAN dd.mm.yyITALIAN dd-mm-yyJAPAN
5、yy/mm/ddTAIWAN yy/mm/ddUSA mm-dd-yyMDY mm/dd/yyDMY dd/mm/yyYMD yy/mm/dd日期的默认设置是 AMERICAN。3、 set default to pathname set default to 4、SET DELETED命令语法:SET DELETED ON|OFF说明:使用SET DELETED命令确定标有删除标记的记录是否可被其他 命令访问。5、set exact on|off 指定比较不同长度两个字符串时,Visual FoxPro 使用的规则。ON: 指定相等的表达式必须是每个字符都相匹配。OFF(默认值)指定必须是右
6、端表达式结尾前的每个字符都相匹配,才是相等的表达式。说明SET EXACT 设置值对于相等长度的字符串没有任何作用。 例:比较 EXACT OFF EXACT ONab = abc 不匹配 匹配abc = ab 匹配 匹配6SET STATUS命令语法:SET STATUS ON|OFF说明:SET STATUS命令可显示或移去VFP状态条。7SET SYSMENU命令语法:SET SYSMENU ON|OFF|TO DEFAULT说明:SET SYSMENU命令用于启动或关闭在程序执行过程中对VFP系统菜单的访问。8.set talk on|off决定 Visual FoxPro 是否显示命
7、令结果三、程序文件中的专用命令(一)输入输出命令1交互式输入命令 (1)字符接收语句 格式:ACCEPT TO 功能:将从键盘上接收的字符串数据存入指定的内存变量中。提供此命令是为了向后兼容,在VFP中可以用文本框控制命令代替。参数描述:指定提示信息字符串。:指定存储字符数据的内存变量或数组元素。如果没有定义此内存变量,ACCEPT将自动创建。如果没有输入数据就按Enter键,内存变量或数组元素则为空字符串。【例111】试编程完成下述功能:从键盘随机输入某个表的文件名,要求打开并显示此表的内容。*L1101CLEARSET TALK OFFACCEPT 请输入表文件名 TO FileNameU
8、SE &FileNameLISTUSERETURN(2)通用数据接收命令ACCEPT语句只能给字符型内存变量提供数据。如果用户想给其它类型的内存变量提供数据,可以使用下列命令: 格式:INPUT TO 功能:用于接收从键盘上输入的表达式,并将计算结果存入指定的内存变量或数组元素中。包含此命令也是为了提供向后的兼容性。在VFP中,该命令也可以用文本框控制代替。INPUT语句与ACCEPT语句的区别是:ACCEPT命令只能接收字符串,而INPUT语句可以接收任意类型的VFP表达式;如果输入的是字符串,ACCEPT语句不要使用字符型定界符,而INPUT语句必须用定界符括起来。 【例11.2】试编程完
9、成下列功能。从键盘上随机输入一个正数,以此数为半径,求圆面积和球体积,并输出结果.*L1102.PRGCLEARSET TALK OFFINPUT 半径= TO RS=PI()*R*RV=4/3*PI()*R*3? 圆面积=,S? 球体积=,Vset talk onRETURN(3)输入一个字符语句格式:WAITTO 功能:暂停正在运行的程序,直到输入一个字符为止。WAIT语句主要用于下列两种情况。暂停程序的运行,以便观察程序的运行情况,检查程序运行的中间结果。根据实际情况输入某个字符,以控制程序的执行流程。比如,在某应用程序的“YN”选择中,常用此命令暂停程序的执行,等待用户回答“Y”或“N
10、”,由于这时只需输入单个字符,也不用按回车键,操作简便,响应迅速。 2、 格式化输出命令 格式: SAY 功能:从指定的行、列号开始输出表达式的值。3. 格式化输入命令格式: SAY Get 变量名功能:在指定的行、列号开始输出表达式的值,并可修改GET子句后变量的值。GET子句必须与READ命令配合工作。说明:GET后面的变量必须先赋值。112 程序控制结构1、顺序结构程序设计 顺序结构程序设计是结构化程序设计的基础,即是按完成任务所需步骤的先后顺序逐条命令的编写。2、分支结构程序设计分支结构就是根据条件的计算结果执行不同的操作。VFP6中有两条命令实现条件分支:(1)条件分支格式:IF E
11、LSE ENDIF(2)多条件选择语句 格式:DO CASE CASE CASE CASE OTHERWISE ENDCASE 【例113】运行一个程序,随机输出一条信息: CLEARAA=INT(RAND()*10) &随机产生一个10以内的整数DO CASECASE AA=0? “这次产生的随机数是:0”CASE AA=1? “这次产生的随机数是:1”CASE AA=2? “这次产生的随机数是:2”CASE AA=3? “这次产生的随机数是:3”OTHERWISE? “这次产生的随机数是:大于3!” ENDCASE 2、循环语句(1)基于条件的循环:DO WHILE命令 DO WHILE
12、EXITLOOP ENDDO 【例114】计算连续自然数之和,并且显示和刚大于1000的最后一个自然数。STORE 0 TO AA,BBDO WHILE AA=1000BB=BB+1AA=AA+BBENDDO? BB例115逐条显示STUDENT表中男生的情况。(2)基于计数的循环:FOR命令 FOR = TO STEP EXITLOOP ENDFOR/NEXT STEP :是计数器递增或递减的步长。如果是负值,则计数器递减;如果省略STEP子句,计数器每次递增1。【例116】求1到100中偶数的和 AA=0FOR II=2 TO 100 STEP 2AA=AA+IIENDFOR? AA例11
13、.7逐条显示STUDENT表中男生的情况。RECCOUNT( )(3)基于表的循环命令 SCAN FOR WHILE LOOPEXITENDSCAN 参数描述:指定对当前表中记录扫描的范围。只有在范围之内的记录才有可能扫描到。SCAN命令的默认范围为ALL。FOR :只有条件表达式的计算结果为“真”的记录,才能对其执行命令。包含FOR子句可以筛选出不想扫描的记录。WHILE :指定一个逻辑表达式作为执行命令的条件,只要逻辑表达式计算为“真”,就对记录执行命令,直到遇到使表达式不为“真”的记录为止。例11.7逐条显示STUDENT表中男生的情况。USE STUDENTSCAN FOR 性别=”男
14、”DISPWAITENDSCANUSE11.3函数和过程一、标准函数(P219)二、自定义函数用户自定义函数是除系统提供的函数外,用户自己定义的某些有特殊功能的函数,它能增强用户编程的灵活性和通用性。1、自定义函数的结构 FUNCTION PARAMETERS RETURN 2、自定义函数的调用格式: ()说明:自定义函数的调用方法与系统内部函数的调用方法相同。PARAMETERS 接收来自的数据,其实参和形参的个数和及其数据类型必须相等和一致。自定义函数也可以放在过程文件中,其函数名就是过程名,把它作为一个过程调用,但返回的值没有意义。例118、编一个程序,用于输出一个三角形的面积。 (P1
15、96)三、过程(子程序) 一个复杂的程序可以划分成多个子程序。每个子程序可单独作为一个命令文件储存,多个子程序也可放在一个过程文件中储存。子程序或过程的编写和修改方式与一般的程序一样,不同的是过程的最后一个语句必须是返回语句(RETURN)四、过程文件及过程文件的打开专门用于储存过程的文件。1、建立过程文件:MODIFY COMMAND 过程文件的格式要求每个过程文件的开头必须用下列语句: 格式:PROCEDURE PROCEDURE RETURNPROCEDURE RETURNPROCEDURE RETURN2、过程文件打开过程文件和表文件一样,都是在先打开后才能使用。在主程序中应先打开过程文件,将过程文件中的所有过程都调入SET PROCEDURE TO 3、过程文件调用子程序或过程的调用也是用DO命令: DO IN WITH 4、过程文件的关闭命令CLOSE PROCEDURE 例11.9 试编一个程序,能对student表进行维护、查询和打印输出。clearuse d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经济指标与债市观察系列:论不同类型通胀对债市的差异化影响
- 探寻中国影子银行体系风险及防范之道:基于特征、成因与策略的深度剖析
- 2026年农业农业智能冷链物流行业创新报告
- 校园足球运动损伤风险智能预测系统的构建与应用课题报告教学研究课题报告
- 健康生活实践分享会互动方案
- 2025年工业互联网平台在金融行业的应用创新可行性分析报告
- 2025年智能安防视频监控云平台在智慧安防社区中的应用场景可行性分析报告
- 生育计划落实承诺书(6篇)
- 智慧园区规划建设手册
- 《兰亭集序》2025-2026学年统编版高二语文选择性必修下册
- 2026年春期人教版二年级下册数学全册教案(核心素养教案)
- 隐睾症的健康教育
- 2026年广东省湛江市高三一模高考数学试卷试题(答案详解)
- 水利工程地质勘察规范(标准版)
- 2026年农业科技行业智能灌溉系统报告及未来农业创新发展趋势报告
- 儿科雾化治疗的护理沟通技巧
- 译林版英语六年级上册单词默写本(正乱序英汉互译)含答案
- 购物商城管理系统
- 中国中煤能源集团有限公司图克绿色低碳产业示范园区规划-高质量打造鄂尔多斯世界级现代煤化工产业示范区关键核心区
- 2026年高考地理压轴训练卷1
- 公共建筑监理招标询价函模板
评论
0/150
提交评论