- 4
- 0
- 约1.25万字
- 约 10页
- 2018-03-10 发布于浙江
- 举报
[管理学]第8章 过程
第八章 过程
本章内容
8.1 Sub过程
8.2 Function过程
8.3 参数传递
8.4 变量与过程的作用域
8.5 递归调用
8.6 常用算法
VB过程:
1、系统提供:
函数过程(内部);
事件过程(代码窗口:事件过程);
2、用户自定义:
根据应用的需要而设计的过程(代码窗口:通用过程)。
在VB6.0中,用户可自定义下列四种过程:
1)、“Sub”关键字开始的为子过程
2)、“Function”关键字开始的为函数过程
3)、“Property”保留字开始的为属性过程
4)、“Event”保留字开始的事件过程
8.1.1 Sub过程的创建
一、Sub过程的定义:
格式:
[Public | Private][ Static] Sub 过程名([参数表])
局部变量或常数定义
<语句序列>
[Exit Sub]
<语句序列>
End Sub
范围
形参
变量名
状态
说明:
1、关键字:必须以Sub开头,以End Sub结束,并返回到调用该Sub过程语句的下一条语句继续执行。
2、过程名:过程名的命名规则与变量名相同。
3、过程状态:“Static”指定的Sub过程为静态过程,该过程中定义的局部变量为静态变量。当再次调用执行该过程时,局部变量的值不被重新初始化而以上次的值保留下来作为本次调用时的初值。但是,在过程中使用该过程之外定义的变量,Static将不会对其产生任何影响。
4、过程作用范围:“Private”表示Sub过程是私有过程,它只能被本模块中的其他过程访问,而不能被其他模块中的过程访问。
“Public”表示Sub过程是公有过程,可以在本工程所有模块中调用它。如果缺省则表示该过程为公有过程。
说明:
5、过程参数:“参数表”指其他过程与本过程进行参数传递和交换的形式参数,简称“形参”。过程若有多个参数时,各参数之间用逗号隔开;过程也可以没有参数,即称为无参过程。
格式:[ByVal]变量名[( )][As数据类型]
其中,“变量名”是一个合法的Visual Baisc变量名或数组名,如果是数组,则要在数组名后加上一对括号。“ByVal”表明该参数是值传递,否则为地址传递。
6、Exit Sub语句用于强制退出该过程。
7、Sub过程不能嵌套定义,即在一个Sub过程中定义另一个Sub过程。
8、在同一个模块中Sub过程名不能与Function过程名或者本模块的非局部变量名相同,以免发生名字的二义性。
Private Sub Swap1(X As Integer,Y As Integer)
Dim temp As Integer
Temp=X : X=Y : Y=Temp
End Sub
过程名:
过程作用范围:
形参数:
过程结果:X→Y Y→X
例8.1 编一个交换两个整型变量值的子过程。
二、Sub过程的建立
方法一:在代码窗口中直接创建。
方法二: 通过 “工具”菜单中的“添加过程”命令,出现“添加过程”对话框(见图),
选择过程类型(子过程、函数、属性、事件)及作用范围(公有的Public、私有的Private),确定后得到一个过程或函数定义的结构框架(模板),如:
Public Sub Sort( )
……
End Sub
8.1.2 Sub过程的调用
子过程的调用格式:
1、 过程名 [实参列表]
2、 Call 过程名[(实参列表)]
说明:
1、“实参列表”指与形参相对应的需要传递给Sub过程的常数或变量,简称“实参”。
2、调用时把实参值传递给对应的形参。其中值传递(形参前有ByVal说明)时实参的值不随形参的值变化而改变。而地址传递时实参的值随形参值的改变而改变。
3、Sub过程的调用必须是一条独立的语句,不能在表达式中调用Sub过程。
4、调用子过程的形式有两种,用Call关键字时,实参必须加圆括号括起,反之则实参之间用“,”分隔。
5、实参的类型与形参类型一致。
例:调用上面定义的Swap子过程的形式:
Swap a, b
Call Swap(a, b)
Private Sub Command1_Click()
……
Call Swap1(a,b)
……
Swap1 a,b
End Sub
Private Sub Swap1(x%,y%)
Dim temp%
Temp=X
X=Y
Y=Temp
End Sub
过程调用的执行
原创力文档

文档评论(0)