- 2
- 0
- 约 44页
- 2016-10-26 发布于广东
- 举报
5.1.2 子过程的定义 子过程的定义形式如下。 [Public | Private] [Static] Sub 子过程名 ( [形式参数列表]) 语句块 [Exit Sub] 语句块 End Sub 5.1.2 子过程的定义 (3)子过程名的命名规则与变量名的命名规则相同。 (4)形式参数列表的格式如下。 [ByVal | ByRef] 变量 [AS类型] [,[ByVal | ByRef] 变量 [AS类型]] [,…] ByVal表示过程被调用时,参数是按值传递的;ByRef或默认情况下,参数是按地址传递的。“AS类型”表示该变量的数据类型,也可以用相应的类型符代替。形式参数通常简称为“形参”,形参列表仅表示形参的类型、个数及位置顺序,定义时是没有值的,只有在过程被调用时,形参与实参相结合才获得相应的值。过程也可以没有形参,但括号不能省略。 (5)Exit Sub语句表示退出子过程。 5.1.2 子过程的定义 例5-1编写子过程,求两个整数的和。 Public Sub add(ByVal a As Integer, ByVal b As Integer) Dim c As Integer c = a + b Print c=; c End Sub 5.1.2 子过程的建立 1.在代码编辑窗口中输入 进入代码编辑窗口后,在左侧显示对象名的下拉框中选择“通用”选项,在右侧显示过程的下拉框中选择“声明”选项,然后在输入Sub、子过程名和形参按回车后,Visual Basic系统自动加上End Sub,这样就可以在中间输入子过程所需的语句 5.1.2 子过程的建立 2.使用“添加过程”对话框 打开想要添加子过程的代码窗口,执行“工具”菜单的“添加过程”命令,打开“添加过程”对话框,如图5-2所示,在“名称”文本框中输入子过程名,在类型选项组中选择“子过程”单选按钮,在“范围”选项组中选择公有的(Public)或私有的(Private)。 5.1.4 子过程的调用 1.Call子过程名(实参列表) Call语句把程序流程转到定义子过程处。使用Call语句调用子过程时,如果子过程本身没有形参,则实际参数和括号都可以省略,否则应给出相应的实际参数,并把它放在括号中。实际参数是指在调用子过程时传给形参的变量或常量,一般简称“实参” 2.子过程名(实参列表) 该方法省略了关键字Call,并且去掉了实参列表的括号。 5.1.4 子过程的调用 例5-2编写程序调用例5-1定义的子过程。 代码如下: Private Sub Form_Click() Dim x As Integer, y As Integer x = 10 y = 20 Call add(x, y) ’也可以写成add x,y End Sub 5.1.5 子过程的传递 参数分为两种: (1)形式参数。 它是指在定义子过程时,出现在子过程名后面圆括号内的参数,专门用于接收实参传递过来的数据。 (2)实际参数。 它是指在调用子过程时,写在子过程名后的参数,专门用于向子过程的形参传递数据。实参列表可以是常量、变量、表达式等。 5.1.5 子过程的传递 参数的传递是指主调过程的实参把数据传给被调过程的形参,传递的方式有两种。 1.按值传递 按值传递是在形参的定义时在变量名前加上关键字“ByVal”,使用这种传递方式时,实参将数值传递给对应的形参。在Visual Basic中,系统会给形参临时分配一个内存单元,实参的值传递到这个临时的内存单元中去,即意味着实参和形参分别占用两个不同的内存单元,因此当在调用子过程时改变了形参的值,不会影响到实参本身,在子过程调用完毕返回主调过程时,临时分配给形参的内存单元被释放,实参的值不变,因此这种传递方式被称为“单向传递”。 5.1.5 子过程的传递 2.按地址传递 在形参定义时变量名前没有任何关键字或用“ByRef”来修饰的,是一种把实参变量的地址传递给形参的方式。传递完成时,实参和形参具有相同的地址,即实参和形参共同占用一个内存单元。子过程被调用时,形参的值如果发生改变,实参的值也会发生改变。因此这种传递方式称为“双向传递”。 5.1.5 子过程的传递 5.1.5 子过程的传递 5.1.5 子过程的传递 5.1.5 子过程的传递 5.1.5 子过程的传递 Private Sub add(x As Integer) x = x + 1 Print 调用后x=; x; End Sub Private Sub Form_Click() Dim a As Integer a = 40 Print 第一次:调用前a=; a; add a ’实参是变量,按地址传递 Print a=; a Print 第
您可能关注的文档
- 新Visual Basic程序设计(第二版) 电子教案 丁亚明 第8章.ppt
- 新Visual Basic程序设计(第二版) 电子教案 丁亚明 第9章.ppt
- 新Visual Basic程序设计(第二版) 电子教案 丁亚明 第10章.PPT
- 新Visual Basic程序设计(第二版) 电子教案 丁亚明 第11章.ppt
- 新Visual Basic程序设计(第二版) 电子教案 丁亚明 第13章.ppt
- 新Visual Basic程序设计(第二版) 电子教案 柳青 第1章 Visual Basic 6.0入门.ppt
- 新Visual Basic程序设计(第二版) 电子教案 柳青 第2章 Visual Basic语言基础.ppt
- 新Visual Basic程序设计(第二版) 电子教案 柳青 第3章 标准控件的使用.ppt
- 新Visual Basic程序设计(第二版) 电子教案 柳青 第4章 外部控件的使用.ppt
- 新Visual Basic程序设计(第二版) 电子教案 柳青 第5章 面向对象的程序设计.ppt
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
最近下载
- 四川省2025年中考数学真题试卷十五套附答案.pdf VIP
- 《数据库原理与应用》课程标准.pdf VIP
- 本科论文毕设-基于JAVA酒店管理系统毕业设计论文.doc VIP
- 2025年德州职业技术学院单招笔试数学试题库含答案解析.docx VIP
- 氟化物微纳复合玻璃与透明陶瓷:设计原理、制备工艺与性能研究.docx VIP
- 2025海上风电系统智能运维的数字孪生技术(英文).pdf VIP
- 2025年德州职业技术学院单招《数学》真题(重点)附答案详解.docx VIP
- 牵引供电变电所-分区所-AT所.pdf VIP
- 投标产品质量、供货、售后服务、残次品退换承诺方案.docx VIP
- 子宫肌瘤的诊治中国专家共识解读.docx VIP
原创力文档

文档评论(0)