【vb精品源码栏目提醒】:网学会员为需要vb精品源码的朋友们搜集整理了【精品】国二计算机VB教程9 - 其它资料相关资料,希望对各位网友有所帮助!
第9章 过 程本章内容:9.1 Sub过程9.2 Function过程9.3 参数的传递9.4 可选参数与可变参数9.5 对象参数9.6 局部内存分配9.7 Shell函数 9.1 Sub过程 Visual Basic中使用的过程分为子程序过程(Sub Procedure)、函数过程(Function Procedure)和属性 过程(Property Procedure)三种。
其中: Sub过程不返回值; Function过程返回一个值; Property过程可以返回和设置窗体、标准模块以及类模块 的属性,也可以设置对象的属性。
9.1.1 建立Sub过程 在Visual Basic中有两种Sub过程,即通用过程和事件 过程。
通用过程分为公有(Public)过程和私有(Private)过 程两种。
公有过程可以被应用程序中的任一过程过程调用, 而私有过程只能被同一模块中的过程调用。
通用过程可以 存储在窗体模块或者标准模块中。
1.定义Sub过程 通用Sub过程的格式如下: 〔Static〕〔Private〕〔Public〕 Sub 过程名〔参数列表〕 语句块 〔Exit Sub〕 〔语句块〕 End Sub 格式中各参数说明: Sub过程以Sub开头,以End Sub结束,在Sub和End Sub之间是描述过程操作的语句块,称为子程序体或过 程体。
在Sub语句之后,可以用Dim或者Static语句声明 过程的局部变量和常量; Static:指定过程中的局部变量在内存中的默认存储方 式为静态变量型,即在每次调用过程的时候,局部变量 的值保持不变。
如果省略了“Static”,则局部变量就默 认为“自动”的,即每次调用过程,局部变量就被初始 化为0或者空字符串。
Static对于那些在过程外定义的变 量没有影响,即使这些变量在过程中使用; Private:表示Sub过程是私有过程,只能在本模块中的 其它过程中访问,不能被其它模块中的过程访问; Public:表示Sub过程是公有过程,可以在程序的任何地 方调用它。
各窗体通用的过程通常在标准模块中用Public 定义,在窗体层定义的通用过程一般在本窗体模块中使 用,如果在其它窗体模块中使用,则应该加上窗体名作 为前缀。
若缺省Private Public选项,则系统默认为 Pubilc; 过程名:是一个长度在0 ~ 255个字符范围内的变量名, 其命名规则与变量的命名规则一样。
在同一个模块中, 同一个变量名不能既用作Sub过程名,又用作Function过 程名; 参数列表:参数列表中的参数称为形式参数,它可以是 变量名,也可以是数组名。
若有多个参数时,各参数之间用逗号隔开。
Visual Basic的过程可以没有参数,但是一对圆括号是不可以省略的。
不含参数的过程称为无参过程; 形式参数的格式如下: 〔ByVal〕 变量名〔()〕 〔As 数据类型〕 变量名〔()〕:变量名为合法的Visual Basic变量名或数组名。
若变量名后没有括号,则表示该形参是变量,否则是数组; ByVal:表明其后的形参是按值传递参数或称为“传值”(Passed by Value)参数,若缺省或用“ByRef”替代,则表明参数是按地址传递(传址)参数或成为“引用”(Passed by Reference)参数; As 数据类型:该选项用来说明变量的类型,若省略,则该形参是“变体变量”。
如果形参变量的类型被说明为“String”,它只能是不定长的。
而在调用该过程时,对应的实在参数可以是定常的字符串变量或者字符串数组元素。
如果形参是字符串数组,则没有这个限制。
End Sub:标志Sub过程的结束,当程序执行到End Sub 语句时,退出该过程,并立即返回执行调用该过程语句的 下一条语句; 过程体有合法的Visual Basic语句组成,过程体可以含有 多个Exit Sub语句,程序执行到Exit Sub时提前退出该过 程,返回到调用该过程语句的下一条语句; 例如: Private Sub SumByVal a As Integer b As Integer aa-1 bab Print a b End Sub 上面定义了一个名为Sum的Sub过程,它有两个形式参 数,其中a是“传值”参数,其类型为整型变量,b是“传 址”(“引用”)参数,其类型也为整型变量。
2.建立Sub过程 在标准模块中建立通用过程有两种方法。
第一种方法的操作步骤如下: 打开“代码编辑器”窗口; 选择“工具”菜单的“添加过程”; 在“添加过程”对话框中(如图9.1所示)输入过程名 (例如:Sum); 在“类型”选项中选定过程类型是“子程序(Sub)”还 是“函数(Function)”; 在选择过程中的“范围”是“公有(Public)”还是“私 有(Private)”; 单击“确定”,
系统就会在“代码编辑器”窗口中创建一 个名为Sum的过程样板,如图9.2所示。
此时可以在Sub和End Sub之间输入程序代码(与事件 过程的代码输入相同)。
第二种方法的操作步骤如下: 在“代码编辑器”窗口中的“对象”列表框中选“通用”, 再在文本编辑区空白行处输入“Private Sub 过程名”或 者“Public Sub 过程名”; 按【Enter】键,即可创建一个Sub过程样板。
图9.1 “添加过程