安全中国首页 > 编程中心 > VB编程
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:www.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

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

更新时间:2008-5-18 10:16:43
责任编辑:hzz
热 点:

标准模块中的过程
    如果过程名是唯一的,则不必在调用时加模块名。无论是在模块内,还是在模块外调用,结果总会引用这个唯一过程。如果过程仅出现在一个地方,这个过程就是唯一的。
    如果两个以上的模块都包含同名的过程,那就有必要用模块名来限定了。在同一模块内调用一个公共过程就会运行该模块内的过程。例如,对于Module1 和 Module2 中名为 CommonName 的过程,从 Module2 中调用CommonName 则运行 Module2 中的CommonName过程,而不是 Module1中的 CommonName 过程。
    从其它模块调用公共过程名时必须指定那个模块。例如,若在 Module1 中调用 Module2 中的 CommonName 过程,要用下面的语句:
    Module2.CommonName (arguments)

    向过程传递参数
    过程中的代码通常需要某些关于程序状态的信息才能完成它的工作。信息包括在调用过程时传递到过程内的变量。当将变量传递到过程时,称变量为参数。

    参数的数据类型
    过程的参数被缺省为具有 Variant 数据类型。不过,也可以声明参数为其它数据类型。例如,下面的函数接受一个字符串和一个整数:
    Function WhatsForLunch(WeekDay As String, Hour _
    As Integer) As String    
         '根据星期几和时间,返回午餐菜单。
        If WeekDay = "Friday" then
           WhatsForLunch = "Fish"
        Else
           WhatsForLunch = "Chicken"
        End If
        If Hour > 4 Then WhatsForLunch = "Too late"
    End Function
    详细信息 关于 Visual Basic 的数据类型,请参阅本章前面部分。也可以在语言参考中查找指定的数据类型。

    按值传递参数按值传递参数时,传递的只是变量的副本。如果过程改变了这个值,则所作变动只影响副本而不会影响变量本身。用 ByVal 关键字指出参数是按值来传递的。
    例如:
    Sub PostAccounts (ByVal intAcctNum as Integer)
    .
    . '这里放语句。
    .End Sub

    按地址传递参数
    按地址传递参数使过程用变量的内存地址去访问实际变量的内容。结果,将变量传递给过程时,通过过程可永远改变变量值。按地址传递参数在Visual Basic 中是缺省的。
    如果给按地址传递参数指定数据类型,就必须将这种类型的值传给参数。可以给参数传递一个表达式,而不是数据类型。Visual Basic 计算表达式,如果可能的话,还会按要求的类型将值传递给参数。
    把变量转换成表达式的最简单的方法就是把它放在括号内。例如,为了把声明为整数的变量传递给过程,该过程以字符串为参数,则可以用下面的语句:
    Sub CallingProcedure ()
       Dim intX As Integer
       intX = 12 * 3
       Foo (intX)
    End Sub

    Sub Foo (Bar As String)
       MsgBox Bar        'Bar 的值为字符串‘ 36 ’。
    End Sub

    使用可选的参数

    在过程的参数列表中列入 Optional 关键字,就可以指定过程的参数为可选的。如果指定了可选参数,则参数表中此参数后面的其它参数也必是可选的,并且要用 Optional 关键字来声明。下面两段示例代码假定有一个窗体,其内有一命令按钮和一列表框。
    例如,这段代码提供所有可选参数:
    Dim strName As String
    Dim strAddress As String

    Sub ListText(Optional x As String, Optional y _
    As String)
       List1.AddItem x
       List1.AddItem y
    End Sub

    Private Sub Command1_Click ()
       strName = "yourname"
       strAddress = 12345     '提供了两个参数。
       Call ListText (strName, strAddress)
    End Sub
    而下面的代码并未提供全部可选参数:
    Dim strName As String
    Dim varAddress As Variant

    Sub ListText (x As String, Optional y As Variant)
       List1.AddItem x
       If Not IsMissing (y) Then
          List1.AddItem y
       End If
    End Sub

    Private Sub Command1_Click ()
       strName = "yourname"    '未提供第二个参数。
       Call ListText (strName)
    End Sub
    在未提供某个可选参数时,实际上将该参数作为具有 Empty 值的变体来赋值。上例说明如何用 IsMissing 函数测试丢失的可选参数。

上一页 1 2 3 4 5 6 7 8 9 10 11 12 下一页

 
学习软件编程开发技术,推荐加入以下软件编程培训班:
易语言软件编程培训班(简单易学)  Delphi软件编程培训班  VC++软件编程培训班
VB软件编程培训班  JAVA高端编程就业研发班

学习网站开发制作技术,推荐加入以下网站开发培训班:
ASP.net网站开发项目实战班  ASP语言网站建设培训班

学习网络安全入侵防护技术,推荐加入以下技术培训班:
大型网络安全入侵防护班  网站脚本程序全方位安全检测班

学习网络管理、网吧运营维护技术(网管),推荐加入以下培训班:
大型网吧技术管理人才特训班  Linux网络嵌入架构工程师培训班

学习专项特殊技术,推荐加入以下专项技术培训班:
软件与游戏外挂脱壳破解班(逆向工程)  赚钱王道-网赚技能培训班  Flash动画设计师就业特训班

 
相关编程
一日一文章
 
一日一软件
一日一动画