- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章过程概要
第10章 过程 本章介绍的自定义过程主要有: 函数过程,以“Function”保留字开始; 子过程,以“Sub”保留字开始。 程序中使用过程的作用: 简化程序设计,提高编程效率,提高程序的可读性和重用性。 本章的目标: 掌握子过程与函数过程的定义与调用 掌握子过程与函数过程的参数传递方式 掌握变量与过程的作用域 了解递归 10.1 子过程 10.1.1 子过程的定义 方法一:利用代码窗口直接定义 在窗体或标准模块的代码窗口把插入点放在所有现有过程之外,直接输入子过程。 子过程定义的格式与事件过程类似,形式如下: [Static] [Public | Private] Sub 子过程名[ (参数列表) ] 子过程体 End Sub 其中: (1)关键字“Sub”指明该程序段为子过程。 (2)关键字“Public” 、“Private”、 “Static”指明过程的作用域,具体意义将在10.5节介绍。 (3)子过程名命名规则与变量名规则相同。 (4)参数列表形式: [ByVal | ByRef ] 变量名 [( )] [As 类型][, [ByVal | ByRef] 变量名 [( )] [As 类型]…] 参数只能是变量或数组名(若为数组名则后加“()”),在定义时没有具体值,所以也叫形式参数(简称形参)或哑元。ByVal表示当该过程被调用时,参数是值传递,ByRef是地址传递。若省略则默认为地址传递的方式。参数传递方式将在10.3节中详细介绍。函数过程无参数时,函数过程名后的括号不能省略,这是函数过程的标志。 (5)子过程体中可以包含局部变量或常数定义及语句块。若要在子过程体中退出子过程,可使用Exit Sub语句,将返回到主调过程的调用处。 例如,要编写一个名为MyMove的子过程,实现标签的水平移动,移动方向由参数tag决定,若tag为1,则向右移动100 twip,为-1则向左移动。可添加如下代码: Sub MyMove (tag%) 定义标签移动子过程 Label1.Left = Label1.Left + 100 * tag End Sub 方法二:利用“工具”菜单下的“添加过程”命令 10.1.2 子过程的调用 子过程的调用是将某些具体的数值或确定的变量传递给子过程中的形式参数 的过程。 子过程的调用是一条独立的调用语句,有两种形式: Call 子过程名[(实参列表)] 或 子过程名 [实参列表] 前者用Call关键字时,若有实参,则实参必须加圆括号括起来,无实参时圆括号省略,后者无Call,而且也无圆括号。 若实参要获得子过程的返回值,则实参只能是变量(与形参同类型的简单变量、数组名、自定义类型变量),不能使常量、表达式,也不能是控件名。 关于子过程的调用,有以下需要注意: (1)子过程调用语句中的参数列表称为实参或实元,它必须与形参保持个数相同,位置与类型一一对应(VB允许形参与实参个数不同,但本书不作讨论)。实参可以是与形参同类型的常数、变量、数组元素、表达式等。 (2)当参数是数组时,形参与实参在参数声明时应省略其维数,但括号不能省略。 例10. 1编写一个子过程,实现Label1控件的水平移动,若超出窗体边缘,则反向移动。移动方向通过参数tag来控制。 分析:若要水平移动控件,则可修改其left属性。判断是否碰到窗体边缘,可以判断是否Label1.left0(超出左边缘)或Label1.left+Label1.widthForm1.width(超出右边缘)。 程序运行的流程如下: 10.2函数过程 10.2.1 函数过程的定义 自定义函数过程的形式如下: [Static] [Public | Private] Function 函数过程名 ([参数列表]) [As 类型] 过程体 函数名=返回值 此函数名赋值语句至少出现一次 End Function 其中: (1)关键字“Function”指明该程序段为函数过程,函数过程一般在结束时要返回结果。其中[As 类型]指出返回结果的类型,若未指明类型,则返回值为变体类型。。 (2)函数过程体中可以包含局部变量或常数定义、语句块等,若要退出函数过程,可使用Exit Function语句。需要注意的是,在函数过程体中至少要对函数名赋值一次。(注:是给“函数名”赋值,函数名后面不能加括号和参数)。 (3)其余关键字的含义与子过程定义中相同。 例10.2 编写一函数过程,在已知半径条件下,求圆的面积。 分析:若已知半径,则圆面积公式为:。因此该函数过程如下: Function CircleArea(r As Single) 形参r为半径 Const pi = 3.14159 常量
您可能关注的文档
- 第10章政府流程的设计与优化概要.pptx
- 第10章物流信息系统设计综合案例-20101025概要.ppt
- 第10章电话通信网概要.ppt
- 第10章系统安全管理概要.ppt
- 第07章材料力学a概要.ppt
- 第10章综合应用设计(Java版)概要.ppt
- 第10章网络综合布线工程案例概要.ppt
- 第10章芳纶纤维概要.ppt
- 第10章木材概要.ppt
- 第0章新能源汽车介绍与认识概要.pptx
- 2025年生态旅游生态补偿机制研究及未来趋势报告.docx
- 2025年茶艺师职业技能竞赛茶叶品牌推广与营销试题.docx
- 民间融资理财的发展历程以及行业现状.doc
- 智慧能源未来趋势:2025年智能电网分布式电源协同控制技术创新展望.docx
- 制造业2025年数据治理优化路径策略研究报告.docx
- 2025年光伏产业光伏玻璃技术创新与市场前景报告.docx
- 无人机电力巡检智能决策系统2025年技术创新与智能优化.docx
- 苏教版语文单元草原学习目标与重点.pdf
- 2025年新中产家庭儿童玩具消费趋势深度分析.docx
- 2024-2025学年四川省绵阳市游仙区七年级(下)期末语文试卷(含详细答案解析).docx
最近下载
- 配合协调与服务承诺.docx VIP
- 14《称空气》课件 科学三年级上册(苏教版2025).pptx
- 晚期消化道肿瘤临床规范诊疗新进展题库答案-2025年华医网继续教育.docx VIP
- 工程协调配合措施及承诺.docx VIP
- 医院信息科笔试、面试题(附答案).docx VIP
- 施工协调配合的承诺与措施.pdf VIP
- 医院信息科计算机考试精彩试题(附答案).docx
- 2025年最新人教版七年级(初一)数学上册教学计划及进度表(新课标,新教材).docx
- 2025至2030地毯和室内装饰清洁服务行业项目调研及市场前景预测评估报告.docx
- 2025重庆南岸区招聘社区工作者后备库人选300人笔试备考题库及答案解析.docx VIP
文档评论(0)