全国计算机等级考试二级VB历年试题合集含答案(CHM文件下载)>>
考点8 传值
传值就是通过值传送实际参数,即传送实参的值而不是传送它的地址。在这种情况下,系统扭需要传送的变量复制到一个临时的单元中,然后把该临时单元的地址传送给被调用的通用过程。由于通过过程没有访问变量(实参)的原始地址,因此不会改变原来变量的值,所有的变化都是在变量的副本上进行的。
考点9 数组参数的传送
Visual Basic允许把数组作为实参传送到过程中。用数组作为过程的参数时,应在数组名的后面加上一对括号,以免与普通变量相混淆。
除遵循参数传送的一般规则外,还应注意以下两点:
(l)为了把一个数组的全部元素传递给一个过程,应将数组名分别放入实参表和形参表中,并略去数组的上下界,但括号不能省略。
(2)如果不需要把整个数组传递给通用过程,可以只传递指定的单个元素,这需要在数组名后面的括号中定上指定的元素下标。
6.4 可选参数和可变参数
Visual Basic 6. 0提供了十分灵活和安全的参数传送方式,允许使用可选参数和可变参数。在调用一个过程时,可以向过程传送可选的参数或者任意数量的参数。
考点10 可选参数
在调用一个过程时,有时并不是每次都要传递所有的参数。有些参数的存在是为了提供某项功能,但这项功能不是每次调用该过程时都需要的或者在调用这个过程时,某个参数在绝大部分时间内都使用同一个值,对于其他的值只有在特殊的情况下才使用。
使用可选参数时还应注意两点:
(1)如果某个参数被指定为可选参数,那么它后面的参数必须都是可选的。
(2)Optional关键字可以和ByVal关键字一起使用。
考点11 可变参数
在使用可变参数时应注意以下5点:
(1)ParamArray关键字只能用于参数列表中的最后一个参数。
(2)用ParamArray关键字声明的参数数组只能是Variant类型。
(3)ParamArray关键字不能和ByVal关键字,ByRef关键字以及Optional关键字一起使用。
(4)如果使用ParamArray关键字声明可变个数参数,那么其他的参数都不能被声明为可选的。
(5)用ParamArray关键字声明的参数数组,无论是否使用了Option Basel语句,它的下界总是0。
6.5 对象参数
考点12 对象参数
和传统的程序设计语言不同,Visual Basic允许用对象作为参数,即窗体或控件作为通用过程的参数。在有些情况下,这可以简化程序设计,提高效率。实际上,在Visual Basic中还可以向过程传送对象,包括窗体和控件。
对象作为参数与用其他数据类型作为参数的过程没有什么区别,其格式为:
Sub过程名(形式参数表)
语句块
[Exit Sub]
…
End Sub
“形式参数表”中的形参的类型通常为Control或Form注意,在调用含有对象的过程时,对象只能通过传地址方式传送。因此在定义过程时,不能在其参数前加关键字ByVal。
6.6 局部内存分配
考点13 局部内存分配
有时候,在过程结束时,可能不希望失去保存在局部变量中的值。如果把变量声明为全局变量或模块级变量,则可解决这个问题。但如果声明的变量只在一个过程中使用,则这种方法并不好。为此,Visual Basic提供了一个Static语句,其格式为:
Static变量表
其中“变量表”的格式如下:
变量[()][As类型][,变量[()][As类型]]…
可以看出,Static语句的格式与Dim语句完全一样,但Static语句只能出现在事件过程、Sub过程或Function过程中。在过程中的Static变量只有局部的作用域,即只在本过程中可见,但可以和模块级变量一样,即使过程结束后,其值仍能保留。
在程序设计过程中,Static语句常用于以下两种情况:
(1)记录一个事件被触发的次数,即程序运行时事件发生的次数。
(2)用于开关切换,即原来为开,将其改为关,反之亦然。
6.7 Shell函数
考点14 shell函数
在Visual Basic中不但可以调用通用过程,而且可以调用各种应用程序。也就是说,凡是能在Windows下运行的应用程序,基本上都可以在Visual Basic中调用。这一功能通过Shell函数来实现。
Shell函数的格式如下:
Shell(命令字符串[,窗口类型])
其中“命令字符串”是要执行的应用程序的文件名(包括路径),它必须是可执行文件,其扩展名为.COM,.EXE,.BAT或.PIF,其他文件不能用Shell函数执行。