- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 过程
教学内容: 一、过程概述 过程的定义与调用、过程的分类、过程的建立、调用。 二、过程调用中的参数传递 按地址传递、按值传递、数值参数。 三、变量与过程的作用域 作用域概述、过程级变量、窗体/模块级变量、全局变量。教学要求: 了解:过程的分类、数组参数的传递。 理解:参数传递中传值和传址的不同含义,变量与过程的作用域 掌握:定义、调用子过程和函数的方法。
§5.1 子过程的分类
概念:将公用的、能完成某一特定功能的程序设计成可供其它程序调用的、独立的程序段,那么,这种程序段就称为子程序(也称为过程)。调用子程序的程序段称为主程序。
在Visual Basic中,有两类子过程:事件过程和通用过程。
一、 事件过程
当用户对一个对象发出动作时,会产生一个事件,然后自动地调用与该事件相关的事件过程。事件过程就是在响应事件时执行的程序段。这在前面的章节中已经使用过,如click()事件过程。默认时,事件过程是私有的。事件过程是附加在窗体和控件上的。
二、 通用过程
在VB中,通用过程分为两类,即子程序过程(Sub过程)和函数过程(Function过程)。
与事件过程不同的是:通用过程必须由其它过程调用,它并不与任何特定的事件直接相联系,它完成特定的任务,通用过程由用户创建。
通用过程可以存储在窗体或标准模块中。
§5.2子过程的定义和调用
1.定义Sub过程
(1)格式:
[Private | Public][Static] Sub 过程名 ([形参表])
语句序列
[Exit Sub]
End Sub
说明:
①可将通用过程放入标准模块、窗体模块中。
②通用过程必须以Sub开头,以End Sub结束,中间是过程体。
③Public定义过程为公用的(默认值),应用程序可随处调用它(若定义在窗体,其它窗体的程序调用时要指定窗体名)。
④Private定义子过程为局部的,只有该过程所在模块中的程序才能调用它。
⑤Static定义该过程中的所有局部变量的存储空间只能分配一次,且这些值在整个程序运行期间都存在。
⑥过程名是供调用的标识符,应符合VB标识符命名规则。
⑦过程中可以使用一个或多个Exit Sub语句,执行到Exit Sub语句时则从过程中退出,若无Exit Sub语句,则执行到End Sub语句时退出过程。
⑧参数也称为形参或哑元,只能是变量或数组名(这时要加“( )”),在定义时没有值。形参表可以有多个参数,若是多个参数,参数之间要用逗号分割。形参表用于声明虚参的名称、个数、位置和类型。By Val表示当该过程被调用时,参数是值传递,否则是地址(引用)传递。函数过程无参数时,函数过程名后的括号不能省略,这是函数过程的标志。
形参表的格式如下:
[ByVal] 变量名[( )] [AS 类型] [,[ByVa1] 变量名[()] [AS 类型
2)建立Sub过程的方法
在窗体上建立通用过程有两种操作方法。
方法一:创建通用过程可在“代码编辑窗口”中直接输入用户创建的过程。当输入Sub和过程名并按回车键后,系统会自动在过程名后加入一对圆括号并将End Sub语句写入下一行。代码窗口中的“对象”列表框变为“通用”,“过程”列表框显示当前刚输入的新过程名。用户可在括号中加入虚参以及在Sub与End Sub之间键入本过程要执行的代码。
方法二:使用“添加过程”对话框添加过程,步骤如下:
打开要添加过程的代码编辑窗口。(“工具”——“添加过程”)
在标准模块中建立通用过程与在窗体上建立通用过程方法一样,但要先建立标准模块。
2.调用通用过程
(1)调用本模块的过程有以下两种方法。
①使用Call语句,格式如下:
Call 过程名([实参表])
②直接使用过程名:
过程名 [实参表]
两种调用方法的区别是:使用Call语句时,实参表必须用括号括起来。直接使用过程名时,实参表不要用括号括起来。
注意: ①调用通用过程,是一个独立的语句,不能写在表达式中。
②实参表和形参表的参数个数要一致,位置要对应,类型要匹配。
例:
Sub recarea(rlen, rwid)
Dim area
area = rlen * rwid
MsgBox Tota
文档评论(0)