欢迎来到天天文库
浏览记录
ID:50056503
大小:68.50 KB
页数:21页
时间:2020-03-08
《Visual Basic程序设计 教学课件 作者 王怀彬 第06章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章过程6.1Sub过程在VisualBasic中,将没有任何返回值的过程定义为Sub过程。6.1.1Sub过程的定义定义Sub过程的格式:[Public
2、Private][Static]Sub子过程名([形式参数列表])<局部变量或常量的定义><语句块>[ExitSub]<语句块>EndSub说明:(1)Sub过程以Sub开始,以EndSub结束,在Sub和EndSub之间是过程体,用来描述Sub过程的功能。(2)Public定义的过程为公有过程,可被任何过程调用;Private、Static定义的过程为局部过程,只能在定义此过程的模块中被调用
3、。(3)子过程名:必须是VisualBasic中合法的标识符,符合标识符的命名规则。(4)形式参数列表:用来表示形参的类型、个数、位置,列表中可以有多个参数,参数之间用“,”分割。过程中可以没有任何形式参数,但括号不能省略。参数的定义格式为:[ByVal
4、ByRef]变量名[()][As类型][,…]ByVal表示当此过程被调用时,参数是按值传递的;默认或ByRef表示参数是按地址传递的。(5)[ExitSub]是退出Sub过程的语句,它通常与条件语句联用,即当满足一定条件时退出Sub过程。6.1.2Sub过程的创建Sub过程通常在窗体模块(.FR
5、M)和标准模块(.BAS)中创建。创建Sub过程有两种方式一是通过定义直接创建;二是利用VisualBasic中的工具创建。6.1.3Sub过程的调用Sub过程的调用格式有两种方式:直接用过程名调用和利用Call语句调用;(1)直接用过程名调用格式:过程名[实际参数列表];(2)利用Call语句调用格式:Call过程名([实际参数列表])。6.2Function过程Function过程也叫函数过程,是过程的另一种形式。在VisualBasic系统中,函数分为内部函数和外部函数。Function过程和Sub过程不同之处是Function过程将返回一个
6、值,而Sub过程没有返回值。6.2.1Function过程的定义6.2.2Function过程的创建创建Function过程同Sub过程,Function过程可以在标准模块和窗体模块中创建.方法一通过定义直接创建;方法二利用VisualBasic中的工具创建.6.2.3Function过程的调用语句格式如下:Call函数名([实际参数列表])函数名[实际参数列表]6.3过程的参数传递参数分为两种:形式参数和实际参数6.3.1形式参数和实际参数1.形式参数是指在定义通用过程时,出现在Sub或Function语句中的过程名后面圆括号内的数,是用来接收传
7、送给子过程的数据。当形式参数有多个时,形参表中的各个变量之间用逗号分隔。2.实际参数实际参数是指在调用Sub或Function过程时,写入子过程名或函数名后括号内的参数,其作用是将它们的数据(数值或地址)传送给Sub或Function过程与其对应的形参变量。实参可由常量、变量、表达式、数组名(后加左、右括号,如A())组成,实参表中各参数间用逗号分隔。6.3.2按值传递和按地址传递参数1.按值传递使用ByVal关键字的形式参数是按值传递的,传递的只是实参的副本,形参值的改变不会影响实参的值。2.按地址传递默认或使用ByRef关键字的形式参数是按地址
8、传递的。此时,形式参数和实际参数共用同一内存单元,过程中对形式参数改变也会影响实际参数的值。(1)在Sub和Function过程调用时,若实参是常量或表达式,无论定义时使用按值传递还是按地址传递,此时都采用按值传递的方式进行参数传递的处理。(2)当数组作为实际参数传递给过程时,一般采用按地址方式进行传递。(3)若形式参数定义是按地址传递,调用时想按值传递,可以将实参变量加上括号,将其转换成表达式。参数传递时应注意的问题6.3.3传递数组除了可以使用变量作为参数之外,还可以用数组作为参数在传送数组时,除遵守参数传递的一般规则外,还应注意以下几点:(1
9、)每一个过程只能引用一个数组作为参数。(2)作为参数的数组只能放在过程所有参数的最后面。(3)数组参数只能按地址传递,在形参数组前不能用ByVal修饰。(4)数组参数只能是一维的。(5)数组作为形参时,将数组名写入形参列表中,并略去数组的上下界,但数组名后的括号不能省略;实参数组的数据类型必须和形参数组的类型一致,实参数组后面的括号可以省略,但为了便于阅读,建议一般不要省略。6.4过程的嵌套与递归调用在一个过程中调用另一个过程,称为过程的嵌套调用;过程直接或间接地调用其自身,称为过程的递归调用。6.4.1过程的嵌套调用6.4.2过程的递归调用Vis
10、ualBasic的过程具有递归调用功能。例如,对阶乘的定义:VisualBasic允许在一个Sub子过程和Function
此文档下载收益归作者所有