内容正文:
任务2.10 设计猜宝游戏
任务目标
掌握通用过程的创建和调用方法
掌握事件过程的创建和调用方法
理解通用过程与事件过程的区别
理解参数的两种传递方式的区别
相关知识
通用过程
01
事件过程
02
参数传递
03
Sub过程的调用
04
模板来自于 http://meihua.docer.com/
3
1. 通用过程
为了完成某一特定任务,通常会编写一段独立的程序,然后根据组要进行调用。
通用过程具有作用范围、名称、参数列表和过程体,可以使用Sub语句来声明:
[Private|Public][Static] Sub 过程名[(参数列表)]
[语句块]
[Exit Sub]
[语句块]
End Sub
2. 事件过程
与通用过程不同,不需要显式调用,当相应的事件发生时会自动被触发,且名称和参数不能随意指定,使用默认的。
(1)窗体事件过程:
Private Sub Form_事件名 [(参数列表)]
语句块
End Sub
(2)控件事件过程
Private Sub 控件名_事件名 [(参数列表)]
语句块
End Sub
3. 参数传递
声明过程中参数列表按以下语法格式
[Optional] [ByVal | ByRef] [ParamArray] 变量名[()] [As 数据类型]
ByVal:按值传递参数。
ByRef:按地址传递参数。
Optional:可选参数。
ParamArray:不定数目参数。
3. 参数传递
(1)ByVal:按值传递参数。传递的是实参。
3. 参数传递
(2)ByRef:按地址传递参数。
3. 参数传递
3. 参数传递
例1:Optional声明参数
Sub OpDemo(a As Integer,Optional b As Integer) ’第二个参数是可选参数主程
Print a, b
End Sub
Private sub Form Click()
OpDemo 10, 20 ’传递两个参数 应给出相
End Sub OpDemo 10 ’传递一个参数,省略可选参数
运行结果为:10 20
10 0
3. 参数传递
例2:VB过程,可以为其可选参数指定一个默认值。
Sub OpDemo(a As Integer,Optional b As Integer = 1)'第二个参数是可选参
Print a,b ’可选参数的默认值为1
End Sub
Private sub Form Click()
OpDemo 10,20 ’传递两个参数
OpDemo 10 ’传递一个参数,省掉可选参数
End Sub运行结果为:10 20
10 0
3. 参数传递
例3:使用ParamArray:不定数目参数。
’定义通用过程 PaDemo
Sub PaDemo(ParamArray a()) '数组a是一维数组,数据类型为Variant
Dim i As Integer
For i = LBound(a) to UBound(a) '用循环语句输出传递过来的参数
Print a(i);
Next i
End Sub
3. 参数传递
例3:使用ParamArray:不定数目参数。
"定义窗体的事件过程
Private Sub Form Click()
PaDemo 1, 2, 3, 4,5 "传递了5个参数,也可以传递更多参数
End Sub
运行结果为:12345
4. Sub过程的调用
通用过程由事件过程和其他通用过程使用,最终由事件过程执行。
Sub过程调用方法:
Call 过程名 [(实际参数)]
过程名 [实际参数]
$$