打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VB几种函数参数传递方法,Variant,数组,Optional,ParamArray
一) 过程的参数被缺省为具有 Variant 数据类型。
  1)ByRef按  地址传递参数在 VB 中是缺省的
  按地址传递参数后,过程返回的也是地址,函数中改变了的变量值也将带回来。

  2)ByVal 关键字指出参数是按值来传递的
  按值传递参数时,传递的只是变量的副本。如果过程改变了这个值,则所作变动只影响副本而不会影响变量本身。 

二)使用不定数量的参数 ParamArray

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

Dim x As Integer,y As Integer,intSum As Integer
Sub Sum (ParamArray intNums ())
   For Each x In intNums
      y = y + x
   Next x
   intSum = y
End Sub
调用方法    Sum 1, 3, 5, 7, 8

三)Optional 关键字,使用可选的参数
   Optional 关键字,就可以指定过程的参数为可选的。如果指定了可选参数,则参数表中此参数后面的其它参数也必是可选的,并且要用 Optional 关键字来声明。

Dim strName As String,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

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

四)Optional 声明arr()数组与Variant 方法
   通常用Optional  arr() as TypeName 为非法
   此时可声明函数变量为 Optional arr as Variant 
   调用时可使用Fun(arr()) 
此时函数中可用LBound(arr)的UBound(arr)确定数组边界
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用VBA实现Excel函数:SUM
自定义函数参数个数不定该怎么设置?
VB6自定义函数设计数组
VB.net学习笔记(五)数据类型
【转】vb调用dll函数声明方法
VB超频快餐,让我一次用个够!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服