VisualBasic变量、常数和数据类型及过程概述六
为可选参数提供默认值。
您还可以为可选参数指定默认值。在下面的示例中,如果没有向function过程传递可选参数,则返回默认值。
Sub ListText(x为字符串,可选y为_
Integer = 12345)
list 1。AddItem x
List1。添加y
End Sub
private command 1 _ click()
strname = " your name " '不提供第二个参数。
Call ListText (strName)'添加“您的姓名”和“12345”。
End Sub
使用不定数量的参数。一般来说,过程调用中的参数个数应该等于过程描述中的参数个数。ParamArray关键字可用于指示该过程将接受任意数量的参数。所以可以写Sum函数来计算和:
dim x as integer
dim y as integer
dim intsum as integer。
Sub Sum(param array int nums())
For intNums中的每个x
y = y+x
Next x
int Sum = y
End Sub
private Sub command 1 _ Click()
Sum 1,3,5,7,8
List1。AddItem intSum
End Sub
用命名参数创建简单语句
对于许多内置函数、语句和方法,Visual Basic提供了命名参数方法来快速传递参数值。对于命名参数,通过为命名参数赋值,可以按任意顺序提供任意数量的参数。为此,键入命名参数,后跟冒号、等号和值(MyArgument :="SomeValue "),它们可以按任意顺序排列,用逗号分隔。注意,下面例子中参数的顺序与所需参数的顺序相反:
function listtext (strname为string,可选str address为string)
list1。additemstrname
list2。additemstr地址
end sub
private command 1 _ click()
listtextstraddress:= " 12345 ",strname:= " your name "
end sub
如果该过程有一些不需要总是指定的可选参数,则以上内容会更有用。
确定对命名参数的支持
若要确定哪个函数、语句和方法支持命名参数,请使用代码窗口中的AutoQuickInfo函数、检查对象浏览器或参考语言参考。命名参数时需要注意以下几点:
Visual Basic(VB)对象库中对象的方法不支持命名参数。VisualBasic for applications (VBA)对象库中的所有语言关键字都支持命名参数。
在语法中,命名参数以粗体和斜体显示。所有其他参数仅以斜体显示。
在强调使用命名参数时,不能省略必需参数的输入。只能省略可选参数。对于Visual Basic (VB)和Visual Basic for applications (VBA)对象库,“对象浏览器”对话框将可选参数括在方括号[]中。
具体请参考语言参考中的“ByVal”、“ByRef”、“Optional”和“ParamArray”。
控制结构概述
通过控制结构,可以控制程序执行的过程。如果没有检查控制流语句,程序将从左到右、从上到下运行这些语句。有些简单的程序可以只写单向流,有些流可以通过运算符的优先级来控制。然而,任何编程语言的有效性和用途都源于其通过结构和循环改变语句顺序的能力。
确定结构
Visual Basic进程可以测试条件表达式,然后根据测试结果执行不同的操作。
Visual Basic支持的决策结构有:
1。如果...然后
2。如果...然后...else
3。选择案例
如果...然后
用if...单行语法和多行块语法都可以使用:
if condition then语句
if condition then
语句
end if
条件通常是比较,但也可以是计算数值的任何表达式。Visual Basic将该值解释为True或False:零值为False,而任何非零值都被视为True。如果condition为True,Visual Basic将执行Then关键字之后的所有语句。您可以使用单行或多行语法有条件地执行语句(以下两个示例是等效的):
if any date < now then any date = now。
any date < now then
any date = now
End If
注意:If的单行格式...则不使用end if语句。如果执行多行代码的条件为真,则在下列情况下必须使用多行块...然后...结束If语法。
if any date < now then
any date = now
timer 1 . enabled = false”计时器控件无效。
结束If
如果...然后...Else
用If定义几个语句块...然后...Else块,执行以下语句之一:
if条件1 then
[语句块-1]
[else if条件2 then
[语句块-2]]...
[else
[语句块-n]]
end if
Visual Basic优先测试条件1。如果为False,Visual Basic将测试condition2,依此类推,直到找到True条件。当发现条件为真时,Visual Basic将执行相应的语句块,然后执行End If之后的代码。或者,您可以包含Else语句块。如果所有条件都不为真,VisualBasic将执行Else语句块。
0条评论