”菜单中的“保存工程”命令,分别保存窗 体文件和工程文件。
说明:① 通用过程可以放在标准模块或窗体模块中,而事件过程只能放在窗体模块中,不同的模块中的过程可以相互调用;② 当过程名惟一时,可以直接通过过程名调用。
若两个或多个的标准模块中含有相同的过程名,则在调用时必须用模块名作为前缀,其格式为:模块名.过程名(参数列表);③ 一般来说,通用过程(包括Sub过程、Function过程)之间、事件过程之间,都是可以相互调用的。
9.2 Function过程 前面介绍的Sub过程,它不返回值,可以作为独立的程 序块进行调用,而Function过程要返回一个值,通常出现 在表达式中。
9.2.1 建立Function过程 Function过程定义的格式如下: 〔Static〕〔Private〕〔Public〕 Function 过程名〔参数列表〕〔As 数据类型〕 〔局部变量和常数声明〕 〔语句块〕 〔过程名 表达式〕 〔Exit Function〕 〔语句块〕 〔过程名 表达式〕 End Function 格式中的参数说明: Function过程以Function语句开头,以End Function语句 结束。
在其间是描述过程操作的语句,称为函数体或者过 程体。
格式中的Static、Private、Public以及参数列表等 含义与Sub过程相同; As数据类型:Function过程要有函数名返回一个值。
在使 用As数据类型选项,指定函数的类型。
省略该选项时,函 数类型默认为变体类型; 在函数体内通过“过程名 表达式”语句给过程名赋值。
如果在Function过程中省略该选项,则该Function过程返 回对用类型的缺省值。
例如,数值函数返回0,字符串函 数返回空字符串; 在函数体内可以含有多个Exit Function语句,程序执行 Exit Function语句时,就提前退出Function过程,返回调 用点; Function过程与Sub过程一样,在其内部不得再定义Sub 过程或Function过程。
9.2.2 调用Function过程 Function过程的调用比较简单,因为可以像使用Visual Basic内部函数一样来调用Function过程。
实际上,由于 Function过程能返回值,因此完全可以把它看成是函数, 它与内部函数(如Sqr、Str、Chr等)没有什么区别, 只不过内部函数由语言系统提供,而Function过程由用户 自己定义。
调用Function过程的格式如下: Function 过程名(〔实在参数表〕) 说明: ① 调用Function过程与Sub过程不同,必须给参数加上括 号,即使调用无参过程括号也是不能省略的; ② Visual Basic也允许像调用Sub过程那样调用Function 过程。
程序举例:利用Function过程编写一个求两个正整数的最大公约数的程序。
程序代码如下: Private Sub Form_Click Dim a As Long Dim b As Long Dim c As Long a InputBox请输入一个正整数a 数据输入 b InputBox请输入一个正整数b 数据输入 c GYSHa b Print a 和 b 的最大公约数为: c End Sub Public Function GYSHByVal x As Long ByVal y As Long Dim z As Long z x Mod y Do While z 0 xy yz z x Mod y Loop GYSH y End Function 本程序在Form_Click事件过程中用赋值语句cGYSH(a,b)调用了GYSH函数过程,过程返回值保存在变量c中。
由于在定义函数GYSH时,它的两个形式参数x、y被指定为“传值”参数,所以尽管x、y两个形式参数在函数GYSH它们的值发生了改变,但是返回调用程序时,它们对应的实在参数a、b仍然保持原值不变。
9.3 参数的传递 在调用一个有参数的过程时,首先进行的是“形实结 合”,即按值传递或按地址传递方式,实现调用程序和被 调用的过程之间的数据传递。
通过参数传递,Sub过程或 Function过程就根据不同的变量执行同种的任务。
在 Visual Basic中,通常把形式参数叫做“形参”,而把实 际参数叫做“实参”。
9.3.1 形参与实参 1.形参 出现在Sub过程或Function过程的形参表中的变量名、 数组名都叫做形式参数,过程被调用之前,并未为其分配 内存单元,其作用就是说明自变量的类型和形态以及在过 程中所“扮演”的角色。
形参表中的各变量要用逗号隔开。
形参可以是: 除定常字符串之外的合法变量名; 后面跟有左、右圆括号的数组名。
2.实参 实参是在调用Sub过程或Function过程时,传递给相应 过程的变量名、数组名、常数或表达式,它们包含在过程 调用的实参表中。
在过程调用传递参数时,形参表和实参 表中的对应变量名不必相同,因为“形实结合”是按照对 应“位置”结合的,即第一个实参和第一个形参结合,第 二个实参和第二个形参结合,依此类推,而不是按名字结 合。
在“形实结合”时,形参表中的参数和实参表中的参数 的个数要相同,对应位置的参数类型要相同。
表9.1列出 了“形实结合”时的形参与实参的对应关系。
表9.1 形参与实参对应关系表
上一篇:
第3章 简单VB程序设计【PPT
下一篇:
台湾海峡台风浪的数值模拟