文档介绍:该【vb子程序和函数 】是由【梅花书斋】上传分享,文档一共【43】页,该文档可以免费在线阅读,需要了解更多关于【vb子程序和函数 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。第八章 子程序和函数
子程序概述
,除了系统提供的内部函数过程和事件过程外,顾客可自定义过程下列四种过程:
▲ “Sub” 保留字开始的为子过程
▲“Function” 保留字开始的为函数过程
“Property”保留字开始的为属性过程
“Event”保留字开始的事件过程
在VB中,的Sub子过程分为:事件过程和通用过程
事件过程
(1)窗体事件的语法
Private Sub Form_事件名(参数列表)
<语句组>
End Sub
(2)控件事件的语法
Private Sub 控件名_事件名(参数列表)
<语句组>
End Sub
Sub过程
子过程的定义形式如下:
[Public|Private][Static] Sub 子过程名([形参表])
<局部变量或常数定义>
<语句组>
[Exit Sub]
<语句组>
End Sub
通用过程(Sub过程)的定义
阐明:
(1)子过程名:命名规则与变量名规则相似。子过程名不返回值,而是通过形参与实参的传递得到成果,调用时可返回多种值。
(2)形式参数列表:形式参数一般简称“形参”,仅表达形参的类型、个数、位置,定义时是无值的,只有在过程被调用时,虚实参结合后才获得对应的值。
(3)过程可以无形式参数,但括号不能省。
(4)参数的定义形式:
[ByVal|ByRef]变量名[( )][As 类型][,…],
ByVal表达当该过程被调用时,参数是按值传递的;缺省或ByRef表达当该过程被调用时,参数是按地址传递的。
。
Private Sub Swap( X As Integer, Y As Integer)
Dim temp As Integer
Temp=X : X=Y : Y=Temp
End Sub
子过程的建立
通过 “工具”菜单中的“添加过程”命令,出现“添加过程”对话框(),选择过程类型(子过程、函数、属性、事件)及作用范围(公有的Public、私有的Private),单击确定后得到一种过程或函数定义的构造框架(模板),如:
Public Sub Sort( )
……
End Sub
过程的调用
1 子过程的调用
子过程名 [参数列表]
或 Call 子过程名(参数列表)
2 函数过程的调用
变量名 = 函数过程名([参数列表])
阐明:
(1)参数列表称为实参或实元,它必须与形参保持个数相似,位置与类型一一对应。
(2)调用时把实参值传递给对应的形参。其中值传递(形参前有ByVal阐明)时实参的值不随形参的值变化而变化。而地址传递时实参的值随形参值的变化而变化。
(3)当参数是数组时,形参与实参在参数申明时应省略其维数,但括号不能省。
(4)调用子过程的形式有两种,用Call关键字时,实参必须加圆括号括起,反之则实参之间用“,”分隔。
例:调用上面定义的Sawp子过程的形式:
Swap a,b
Call Swap(a,b)
Private Sub CmdOK()
……
Call Swap(a,b)
……
Swap a,b
End Sub
Private Sub Swap(x%,y%)
Dim temp%
Temp=X
X=Y
Y=Temp
End Sub
过程调用的执行过程:
Function过程
Visual Basic函数分为内部函数和外部函数,外部函数是顾客根据需要用Function关键字定义的函数过程,与子过程不一样的是函数过程将返回一种值 。
函数过程(Function过程)的定义
[Public|Private][Static]Function 函数名([<参数列表>])[As<类型>]
<局部变量或常数定义>
<语句块>
函数体[函数名=返回值]
[Exit Function]
<语句块>
[函数名=返回值]
End Function
函数体
阐明:
(1)函数名:命名规则与变量名规则相似。但不能与系统的内部函数或其他通用子过程同名,也不能与已定义的全局变量和本模块中模块级变量同名。
(2)在函数体内,函数名可以当变量使用,函数的返回值就是通过对函数名的赋值语句来实现的,在函数过程中至少要对函数名赋值一次。
(3)AS类型:是指函数返回值的类型,若省略,则函数返回变体类型值(Variant)。
(4)Exit Function:表达退出函数过程,常常是与选择构造(If或Select Case语句)联用,即当满足一定条件时,退出函数过程。
(5)形参数列表:形参的定义与子过程完全相似。