第5章 过程.ppt
《第5章 过程.ppt》由会员分享,可在线阅读,更多相关《第5章 过程.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5 5章章 数组与过程数组与过程5.4 Sub5.4 Sub过程的定义及调用过程的定义及调用在应用程序的编写中,为各个相对独立的功能模块所编写的一段在应用程序的编写中,为各个相对独立的功能模块所编写的一段在应用程序的编写中,为各个相对独立的功能模块所编写的一段在应用程序的编写中,为各个相对独立的功能模块所编写的一段程序称之为过程。程序称之为过程。程序称之为过程。程序称之为过程。VBVB应用程序其实是由过程组成的,这些过程可应用程序其实是由过程组成的,这些过程可应用程序其实是由过程组成的,这些过程可应用程序其实是由过程组成的,这些过程可分为两大类:分为两大类:分为两大类:分为两大类:其中一类
2、是系统提供的事件过程,例如窗体、命令按钮的其中一类是系统提供的事件过程,例如窗体、命令按钮的其中一类是系统提供的事件过程,例如窗体、命令按钮的其中一类是系统提供的事件过程,例如窗体、命令按钮的ClickClick事事事事件过程等。事件过程是构成件过程等。事件过程是构成件过程等。事件过程是构成件过程等。事件过程是构成VBVB应用程序的主体,由事件触发执行,应用程序的主体,由事件触发执行,应用程序的主体,由事件触发执行,应用程序的主体,由事件触发执行,例如单击按钮,则按钮的例如单击按钮,则按钮的例如单击按钮,则按钮的例如单击按钮,则按钮的ClickClick事件过程就会执行。事件过程就会执行。事件
3、过程就会执行。事件过程就会执行。另一类过程是通用过程,由用户根据需要自行定义,以供事件过另一类过程是通用过程,由用户根据需要自行定义,以供事件过另一类过程是通用过程,由用户根据需要自行定义,以供事件过另一类过程是通用过程,由用户根据需要自行定义,以供事件过程调用。在程序中,有些处理需要经常重复进行,这些处理的代程调用。在程序中,有些处理需要经常重复进行,这些处理的代程调用。在程序中,有些处理需要经常重复进行,这些处理的代程调用。在程序中,有些处理需要经常重复进行,这些处理的代码是相同的,只不过每次都以不同的参数调用。例如,计算正整码是相同的,只不过每次都以不同的参数调用。例如,计算正整码是相同
4、的,只不过每次都以不同的参数调用。例如,计算正整码是相同的,只不过每次都以不同的参数调用。例如,计算正整数数数数1+2+3+N1+2+3+N的累加和,的累加和,的累加和,的累加和,N N的大小可以由用户决定,因此它是不的大小可以由用户决定,因此它是不的大小可以由用户决定,因此它是不的大小可以由用户决定,因此它是不确定的。这样就可以定义一个以确定的。这样就可以定义一个以确定的。这样就可以定义一个以确定的。这样就可以定义一个以N N为参数的过程,以不同的参数为参数的过程,以不同的参数为参数的过程,以不同的参数为参数的过程,以不同的参数N N调用该过程求和。使用过程的好处可以减少重复编写代码的工作调
5、用该过程求和。使用过程的好处可以减少重复编写代码的工作调用该过程求和。使用过程的好处可以减少重复编写代码的工作调用该过程求和。使用过程的好处可以减少重复编写代码的工作量,使程序简练、便于调试和维护。通用过程又分为量,使程序简练、便于调试和维护。通用过程又分为量,使程序简练、便于调试和维护。通用过程又分为量,使程序简练、便于调试和维护。通用过程又分为SubSub子过程子过程子过程子过程(简称子过程)和(简称子过程)和(简称子过程)和(简称子过程)和FunctionFunction函数过程(简称函数过程)。函数过程(简称函数过程)。函数过程(简称函数过程)。函数过程(简称函数过程)。5.4.1 5
6、.4.1 子过程的定义子过程的定义v子过程定义的格式为:子过程定义的格式为:vStaticPrivate|Public Sub 过程名过程名(参数列表参数列表)v 语句序列语句序列vExit Subv 语句序列语句序列vEnd Subv说明:说明:v 通用子过程的结构与事件过程的结构类似,以通用子过程的结构与事件过程的结构类似,以Sub开头,以开头,以End Sub结结束,二者之间的程序段就是能够完成某个功能的语句序列,称为束,二者之间的程序段就是能够完成某个功能的语句序列,称为“过程体过程体”或或“子程序体子程序体”。v Static:表示过程中的局部变量为:表示过程中的局部变量为“静态静态
7、”变量。变量。vPrivate|Public:子过程分为公有(:子过程分为公有(Public)过程和私有()过程和私有(Private)过程)过程两种,公有过程可以被应用程序中的任一过程调用,而私有过程只能被同一两种,公有过程可以被应用程序中的任一过程调用,而私有过程只能被同一模块中的过程调用。缺省模块中的过程调用。缺省Private|Public时,系统默认为时,系统默认为Public。v过程名:与变量名的命名规则相同。在同一个模块中,同一符号名不能既过程名:与变量名的命名规则相同。在同一个模块中,同一符号名不能既用作用作Sub过程名,又用作过程名,又用作Function过程名。无论有无参数
8、,过程名后的圆过程名。无论有无参数,过程名后的圆括号都不能省略。括号都不能省略。vExit Sub:在过程中的任意位置终止过程的运行,并退出该:在过程中的任意位置终止过程的运行,并退出该过程。过程。vEnd Sub:过程结束的标识,用来正常终止过程,每个:过程结束的标识,用来正常终止过程,每个Sub过程必须有一个过程必须有一个End Sub语句。语句。v子过程定义内部不能再定义其它过程,也不能用子过程定义内部不能再定义其它过程,也不能用GoTo、GoSub或或Return语句进入或退出子过程,但可以通过嵌套调用语句进入或退出子过程,但可以通过嵌套调用执行其它合法的过程。执行其它合法的过程。参数
9、说明参数说明组成部分组成部分含义含义ByVal表示该参数是按值传递表示该参数是按值传递ByRef表示该参数按地址传递(过程中参数的默认传递方式)表示该参数按地址传递(过程中参数的默认传递方式)变量名变量名()表示可以使用合法的表示可以使用合法的VB变量名。如果是数组,要在数组名后面加变量名。如果是数组,要在数组名后面加上上“()”数据类型数据类型可以是可以是Integer、Long、Single、String等类型或用户自定义类型。等类型或用户自定义类型。默认为默认为Variant例例 编写一个交换两个整型变量值的子过程。PrivateSubSwap(xAsInteger,yAsInteger
10、)DimtempAsInteger Temp=xx=yy=TempEndSub 5.4.2 5.4.2 子过程的建立子过程的建立v创建子过程有两种方法。创建子过程有两种方法。v1在窗体模块中建立子过程在窗体模块中建立子过程v操作步骤如下:操作步骤如下:v双击窗体进入代码窗口,在双击窗体进入代码窗口,在“对象对象”下拉列表框中选择下拉列表框中选择“通用通用”,在,在“过过程程”下拉列表框中选择下拉列表框中选择“声明声明”;v在窗口内输入在窗口内输入“Sub”和和“过程名过程名”,然后按,然后按Enter键。系统自动在过程名键。系统自动在过程名后加圆括号,并把后加圆括号,并把End Sub语句写入
11、下一行。这时,语句写入下一行。这时,“过程过程”下拉列表框下拉列表框中显示用户输入的过程名,如图所示。中显示用户输入的过程名,如图所示。v 在在Sub和和End Sub语句之间输入所需的语句序列。语句之间输入所需的语句序列。v2在代码窗口中创建子过程在代码窗口中创建子过程v操作步骤如下:操作步骤如下:v 打开代码窗口;打开代码窗口;v 执行执行“工具工具”“添加过程添加过程”菜单命令;菜单命令;v 在打开的在打开的“添加过程添加过程”对话框中输入对话框中输入Sub过程名,在过程名,在“类型类型”栏中选定栏中选定类型为类型为“子程序子程序”,在,在“范围范围”栏中选定是栏中选定是“公有的公有的”
12、或或“私有的私有的”,单击,单击“确定确定”按钮,如左下图所示;按钮,如左下图所示;v 在在Sub和和End Sub语句之间输入所需的语句序列,如右下图所示。语句之间输入所需的语句序列,如右下图所示。5.4.3 5.4.3 子过程的调用子过程的调用v子过程的执行必须通过调用来完成,子过程的调用是一个独立的语句。Sub事件过程可由事件自动调用,或在同一模块中的其它过程中使用调用语句调用。调用子过程有以下两种方式:v1使用Call语句v语法格式为:vCall 过程名过程名(参数列表参数列表)vCall语句把程序控制转到由“过程名”指定的子过程。用Call语句调用子过程时,如果该过程没有参数,则实际
13、参数可以省略,其圆括号也可以省略,否则应给出相应的实际参数,并把参数放在圆括号中。实际参数是传送给子过程的变量、常数、数组和表达式,其类型应尽量与相应形式参数的类型一致。例例 使用Call语句调用上面定义的Swap子过程的程序如下:PrivateSubCommand1_Click()DimsAsInteger,tAsIntegers=123t=456CallSwap(s,t)Prints=;s,,t=;tEndSub程序运行后显示:s=456,t=1232.直接把子过程名作为语句使用语法格式为:过程名参数列表这种方法与使用Call语句相比,去掉了关键字和实参列表的括号。另外,调用子过程必须是一
14、个独立的语句,不能在表达式中调用子过程。例如:调用前面定义的Swap子过程的形式是:Swaps,t例例 编写一个求n!的子过程,然后调用它计算6!7!8!。Subjc(nAsInteger,sAsLong)DimiAsIntegers=1Fori=1Tons=s*iNextiEndSubPrivateSubForm_Click()DimaAsLong,bAsLong,cAsLong,dAsLongCalljc(6,a)Calljc(7,b)jc8,cd=a+b-cPrint6!+7!8!=;dEndSubv程序运行后显示:6!+7!8!=345605.5 函数过程的定义与调用 v在在VB中,用
15、中,用Function语句定义的过程称为函数过程。函数过程定义的格式为:语句定义的过程称为函数过程。函数过程定义的格式为:vStaticPublic|Private Function函数名函数名(参数列表参数列表)As 数据类型数据类型v语句序列语句序列v Exit Functionv语句序列语句序列v函数名函数名=返回值返回值vEnd Functionv说明:说明:v 函数以函数以Function开始,以开始,以End Function结束,二者之间的程序段就是能够完结束,二者之间的程序段就是能够完成某个功能的语句序列,称为成某个功能的语句序列,称为“函数体函数体”或或“子函数体子函数体”。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 过程
限制150内