- 0
- 0
- 约3.08千字
- 约 38页
- 2018-06-01 发布于上海
- 举报
第8部分模块化
第八讲 程序设计初步(3);程序设计的三种基本结构:
顺序结构
分支结构
循环结构;一、程序设计为什么要引入模块化;“计算”命令按钮的CLICK事件代码如下:; 将求阶乘的问题写成一个共有的代码,代码如下:;二、模块化的基本思想 ;分解优化。不同的人分解的策略是不一样,因此分解也有好有坏。;
(1)精简主程序
提高可读性,同时便于以后程序的维护。
(2)减少重复片段
sub1内的命令原本在主程序会出现两次,而改成调用子程序后,便只出现两次“调用sub1”命令,因此可以减少重复片段,并且以后sub1内的命令若需修改时,只要改一个地方就可以了,而不需要同时修改多处。 ; 在Visual FoxPro中,子程序的结构可分为下列几种:
过程
自定义函数
自定义方法
;自定义方法;(2)方法的命名规则
VFP中方法的命名规则如下:
由字母、汉字、下划线和数字组成,并且必须以字母、汉字或下划线开头。
可以是1~128个字符。
不能使用vfp的保留字
方法名不要与变量名、数组名相同,取名尽量“见名知意”。
(3)方法建立的步骤
定义方法
编写方法代码。
;(教材P71) 【例3-15】自定义方法addtxt,将文本框中输入的文本添加到编辑框中,并将文本框中的文本设置为蓝颜色,编辑框中的文本设置为红颜色。 ;1)方法定义
(1)添加新方法addtxt。
打开表单设计器→选择“表单”中的“新建方法程序”命令→打开的“新建方法程序”对话框→在“名称”框中输入方法的名称(如图所示) →单击添加按钮→单击关闭按钮,退出该对话框。;(2)编写addtxt方法的代码。
双击表单空白处,打开“代码”窗口,在“过程”下拉列表中选择“addtxt”,然后编写代码,如图所示。;2)编写控件的事件代码
(1)“添加”命令按钮的“Click”事件代码如下:
thisform.addtxt()
(2)“关闭”命令按钮的“Click”事件代码如下:
thisform.release;3)运行结果
;2、参数传递与方法的返回值;(2)方法的返回值
如果需要一个返回值,则要在方法代码的结束处增加下面的命令行:
RETURN [表达式]
如果缺省表达??,vfp将自动返回.T.。当代码执行到 RETURN命令时,程序流程立即返回到主程序中。;(3)方法的调用形式
在主程序中可以使用以下形式调用方法:
①在表达式中调用方法,例如, y=2+Thisform.New(x)。
②在赋值语句中调用方法,例如,y=Thisform.New(x)。
③以等号命令调用方法,例如,=Thisform.New(x)。以该形式调用的方法将舍弃返回值。;(教材P74) 【例3-16】编写分数化简程序,在其中调用求最大公约数的自定义方法gys。 ;编写求最大公约数的自定义方法gys代码 ;编写“=”按钮的Click事件代码:
a=Thisform.Text1.Value
b=Thisform.Text2.Value
IF a*b0
s= Thisform.gys(a,b)
Thisform.Text3.value=INT(a/s)
Thisform.Text4.value=INT(b/s)
ENDIF ;EXM1(p83):利用自定义方法,设计圆面积程序。 ;EXM2(p83):设计如图所示表单,3文本框的初值为0,运行表单后,在3个文本框中都输入1,单击“command1”按钮,标签label2和label3分别会显示什么? ;变量的作用域 ;①私有变量
私有变量的使用原则是:上层程序(主程序)中,所定义的私有变量,可以在下层程序(子程序)中使用,而下层程序(子程序)中,所定义的私有变量,却不可以在上层程序(主程序)中使用;这是因为定义该私有变量的子程序结束时,私有变量便被释放的缘故。; 假设一私有变量在“子程序SUB2”中定义时,则子程序SUB2A、SUB2B也可以使用该私有变量,但主程序与其他子程序(SUB1、SUB1A、SUB1B),则无法使用该私有变量。 ;(教材P75-76) 【例3-17】表单界面如图所示,计算按钮的click事件代码和自定义方法代码如下,当文本框text1、text2中分别输入1、2,单击“计算“按钮,文本框text3、text4中显示什么? ;②全局变量
全局变量的使用范围包括整个应用程序,从主程序到所有子程序都可以使用全局变量的内容;因此通常是用来存放密码、当天日
您可能关注的文档
- 创伤控制策略.pptx
- 创新方案 课标人教必修二 第四章 基因的表达.pptx
- 创新设计·福建专高一语文人教必修二11就任北京大学校长之演说.pptx
- 创新设计高中化学同课异构3.2 离子键课件 苏教选修3.pptx
- 创新设计高中语文粤教选修唐诗宋词元散曲选读12李白诗四首.pptx
- 创新设计高中地理必修三第二单元 第二节可持续发展的基本内涵.pptx
- 创新设计高中语文粤教选修唐宋散文选读14百丈山记.pptx
- 创新设计高中语文苏教选修史记选读12项羽本纪.pptx
- 创新设计高中语文语文选修史记选读六君子之风.pptx
- 创新设计高中语文苏教选修史记选读3夏本纪.pptx
- 2025年北京市门头沟区中考一模英语试题.docx
- 2025年北京市门头沟区中考二模英语试题.docx
- 2025年北京市丰台区中考二模英语试题.docx
- 2025年中考英语考前冲刺模拟卷 (北京专用) 解析卷.docx
- 2025年中考英语考前冲刺模拟卷 (北京专用) 原卷.docx
- 2025年肩颈按摩仪行业社媒趋势数据分析.docx
- 2025年人身险行业信用回顾与2026年展望.docx
- 合同法买卖合同培训课件.ppt
- 2025年全球食物系统与SDG研究报告-食物供给、食者健康、生态平衡的整体治理.docx
- 2025下半年四川乐山市川投峨眉铁合金(集团)有限责任公司对考前自测高频考点模拟试题最新.docx
原创力文档

文档评论(0)