Visual Basic变量、常数和数据类型及过程概述六

2016-02-19 17:14 6 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐Visual Basic变量、常数和数据类型及过程概述六,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - 编程语言 】

  提供可选参数的缺省值

  也可以给可选参数指定缺省值。在下例中,如果未将可选参数传递到函数过程,则返回一个缺省值。

  

    Sub ListText(x As String, Optional y As _    Integer = 12345)      List1.AddItem x      List1.AddItem y    End Sub    Private Sub Command1_Click ()      strName = "yourname"     '未提供第二个参数。      Call ListText (strName)   '添加yourname和12345。    End Sub

  使用不定数量的参数一般说来,过程调用中的参数个数应等于过程说明的参数个数。可用ParamArray 关键字指明,过程将接受任意个数的参数。于是可以这样来编写计算总和的 Sum 函数:

  

    Dim x As Integer    Dim y As Integer    Dim intSum As Integer    Sub Sum (ParamArray intNums ())       For Each x In intNums         y = y + x       Next x       intSum = y    End Sub    Private Sub Command1_Click ()       Sum 1, 3, 5, 7, 8       List1.AddItem intSum    End Sub

  用命名的参数创建简单语句

  对许多内建函数、语句和方法,Visual Basic 提供了命名参数方法来快捷传递参数值。对命名参数,通过给命名参数赋值,就可按任意次序提供任意多参数。为此,键入命名参数,其后为冒号、等号和值 (MyArgument :="SomeValue") ,可以按任意次序安排这些赋值,它们之间用逗号分开。注意,下例中的参数顺序和所要参数的顺序相反:

  

    Function ListText (strName As String, Optional strAddress As String)       List1.AddItem strName       List2.AddItem strAddress    End Sub    Private Sub Command1_Click ()       ListText strAddress:="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"。

  控制结构概述

  有了控制结构就可控制程序执行的流程。如果未复选控制流语句,程序便从左至右、自顶向下地贯穿这些语句。有些简单程序可以只用单向流程来编写,有些流程可以依靠运算符的优先级来控制,但任何编程语言的效力和用途皆由其通过结构和循环改变语句顺序的能力而得。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  判定结构

  Visual Basic 过程能够测试条件式,然后根据测试结果执行不同的操作。

  Visual Basic 支持的判定结构有:

  

    1.If...Then    2.If...Then...Else    3.Select Case    If...Then    用 If...Then 结构有条件地执行一个或多个语句。单行语法和多行块语法都可以使用:    If condition Then statement    If condition Then      statements    End If

  condition 通常是比较式,但它可以是任何计算数值的表达式。Visual Basic 将这个值解释为 True 或 False:一个为零的数值为 False,而任何非零数值都被看作 True。若 condition 为 True,则 Visual Basic 执行 Then 关键字后面的所有 statements。可以使用单行或多行语法有条件地执行一个语句(下面两个例子等价):

  

    If anyDate  Now Then anyDate = Now    If anyDate  Now Then       anyDate = Now    End If

  注意:If...Then 的单行格式不用 End If 语句。如果 condition 为 True 时要执行多行代码,则必须使用多行块 If...Then...End If 语法。

  

    If anyDate  Now Then       anyDate = Now       Timer1.Enabled = False     '定时器控制失效。    End If    If...Then...Else    用 If...Then...Else 块定义几个语句块,执行其中一个语句:    If condition1 Then       [statementblock-1]    [ElseIf condition2 Then       [statementblock-2]] ...    [Else       [statementblock-n]]    End If

  Visual Basic 首先测试 condition1。如果它为 False,Visual Basic就测试condition2,依此类推,直到找到一个为 True 的条件。当它找到一个为 True的条件时,Visual Basic就会执行相应的语句块,然后执行 End If 后面的代码。作为一个选择,可以包含 Else 语句块,如果条件都不是 True,则 VisualBasic 执行 Else 语句块。

  If...Then...ElseIf 只是 If...Then...Else 的一个特例。注意,可以使用任意数量的 ElseIf 子句,或者一个也不用。可以有一个 Else 子句,而不管有没有 ElseIf 子句。

  例如,应用程序可以根据菜单控件数组中哪个控件被单击而采取相应的动作:

  

    Private Sub mnuCut_Click (Index As Integer)        If Index = 0 Then     '剪切命令。           CopyActiveControl     '调用通用过程。           ClearActiveControl        ElseIf Index = 1 Then   '复制命令。           CopyActiveControl        ElseIf Index = 2 Then   '清除命令。           ClearActiveControl        Else           '粘贴命令。           PasteActiveControl        End If    End Sub

  注意,总是可以添加更多的 ElseIf 块到 If...Then 结构中去。但是,当每个ElseIf 都将相同的表达式比作不同的数值时,这个结构编写起来很乏味。在这种情况下可以使用 Select Case 判定结构。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  详细信息 请参阅《Visual Basic 6.0语言参考手册》中的If...Then...Else 语句。

  Select Case

  Visual Basic 提供 Select Case 结构替代 If...Then...Else,从而可在多个语句块中有选择地执行其中一个。Select Case 语句的能力与 If...Then...Else 语句类似,但对多重选择的情况,Select Case 语句使代码更加易读。

  Select Case 在结构的上方处理一个测试表达式并只计算一次。然后,VisualBasic 将表达式的值与结构中的每个 Case 的值进行比较。如果相等,就执行与该 Case 相关联的语句块。

  

    Select Case testexpression        [Case expressionlist1           [statementblock-1]]        [Case expressionlist2           [statementblock-2]]             .             .             .        [Case Else           [statementblock-n]]    End Select

  每一个 expressionlist 是一个或几个值的列表。如果在一个列表中有多个值,就用逗号把值隔开。每一个 statementblock 中含有零个或多个语句。

  如果不止一个 Case与测试表达式相匹配,则只对第一个匹配的 Case 执行与之相关联的语句块。如果在表达式列表中没有一个值与测试表达式相匹配,则 Visual Basic 执行 Case Else 子句(此项是可选的)中的语句。

  例如,假定在 If...Then...Else 的例子中要向编辑菜单添加命令。为此可以另加一个 ElseIf 子句,或用 Select Case 来写函数:

  

    Private Sub mnuCut_Click (Index As Integer)       Select Case Index          Case 0              '剪切命令。            CopyActiveControl      '调用通用过程。            ClearActiveControl          Case 1              '复制命令。            CopyActiveControl          Case 2              '清除命令。            ClearActiveControl          Case 3              '粘贴命令。            PasteActiveControl          Case Else            frmFind.Show         '显示找到的对话框。       End Select    End Sub

  注意 Select Case 结构每次都要在开始处计算表达式的值。而 If...Then...Else结构为每个 ElseIf 语句计算不同的表达式。只有在 If 语句和每一个 ElseIf语句计算相同表达式时,才能用 Select Case 结构替换 If...Then...Else 结构。

来源:http://www.tulaoshi.com/n/20160219/1614649.html

延伸阅读
循环结构 循环结构允许重复执行一行或数行代码。Visual Basic 支持的循环结构有: 1.Do...Loop 2.For...Next 3.For Each...Next Do...Loop 用 Do 循环重复执行一语句块,且重复次数不定。Do...Loop 语句有几种演变形式,但每种都计算数值条件以决定是否继续执行。如同 If...Thencondition 必须是一个数值或...
标签: MySQL mysql数据库
我们要把现实世界中的各种信息转换成计算机能理解的东西,这些转换后的信息就形成了数据。例如,某人的出生日期是“1987年5月23日”,他的身高是170厘米,等等。数据不仅包括数字、字母、文字和其他特殊字符组成的文本形式的数据,而且还包括图形、图像、动画、影像、声音等多媒体数据。但使用最多、最基本的仍然是文本数据。   &n...
通过限制焦点验证控件数据 Validate 事件和 CausesValidation 属性是在允许用户将焦点移开控件之前,串联使用以确认对控件的输入的。例如:假设有几个文本框和一个 Help 按钮的应用程序,当每个文本框接收焦点时,您想在文本框的特殊验证准则被满足之前阻止用户移动焦点;然而,您也想允许用户在任何时候都能单击 Help 按钮。 要做到...
标签: ASP
ASP只有一种数据类型那就是"variant "。它是一种特殊的数据类型能够根据它的使用表示很多不同种类的信息。因为它是ASP中唯一的数据类型,它也是ASP中所有函数返回值的唯一类型。它很简单的,"variant"数据类型能够表示数字或者是字符串。当你在ASP程序中把它当做是数字,它就自动转化为"Numeric",如果用它为字符串,它也同样就是"String"了。也...
VBScript只有一种数据类型,称为Variant。Variant是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为Variant是VBScript中唯一的数据类型,所以它也是VBScript中所有函数的返回值的数据类型。 最简单的Variant可以包含数字或字符串信息。Variant用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处...

经验教程

678

收藏

6
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部