作者:杜勇
描述:声明变量并分配存储空间。
一、语法:
Dim[WithEvents]varname[([subscripts])][As[New]type]
Dim语句的语法包含下面部分:
|
部分 |
描述 |
| WithEvents | 可选的。关键字,只有在类模块中使用才是合法的。WithEvents说明本变量是一个用来响应由ActiveX对象触发的事件的对象变量。不能使用WithEvents创建数组。WithEvents不能和New一起使用。 |
| varname | 必需的。变量的名称;遵循标准的变量命名约定。 |
| subscripts | 可选的。数组变量的维数。 |
| New | 可选的。可隐式地创建对象的关键字。如果使用New来声明对象变量,则在第一次引用该变量时将新建该对象的实例,因此不必使用Set语句来给该对象引用赋值。 |
| Type | 可选的。变量的数据类型;可以是VB变量的各种类型、用户定义类型、或对象类型。所声明的每个变量都要一个单独的As type子句。 |
subscripts参数使用下面的语法:
[lower To]upper[,[lower To]upper]...
[lower To]upper意思为下界到上界。如果不显式指定lower,则数组的下界由Option Base语句控制。如果没有Option Base语句则下界为0。
二、说明:
局部变量有两种,一种是模块或窗体级局部变量,另一种是过程级局部变量。在一个语句里可以声明多个变量。在模块或窗体级别中用Dim声明的变量,为模块或窗体级局部变量,对该模块或窗体中的所有过程都是可用的。在过程级别中用Dim声明的变量,为过程级局部变量,只在过程内是可用的。
用Dim语句可以在模块或窗体级或过程级中声明变量的数据类型。例如,下面的语句声明了String类型的变量。
Dim MyStr As String
也可以使用Dim语句来声明变量的对象类型。下面的语句为树型视图(TreeView)的新建项目(节点)声明了一个变量。
Dim nd As New Node
如果定义对象变量时没有使用New关键字,则在使用该变量之前,必须使用Set语句将该引用对象的变量赋值为一个已有对象。
Dim nd As Node
Set nd = TreeView1.Nodes.Add(Relative,Relationship,Key,Text,Image,SelectedImage)
也可以使用带空圆括号的Dim语句来声明动态数组。在声明动态数组后,可以在过程内使用ReDim语句来重新定义该数组的维数和元素。
注意:当在过程中使用Dim语句时,通常将Dim语句放在过程的开始处。
三、应用举例:
该示例演示使用Dim语句来声明变量,也演示了用Dim语句来声明数组。
Dim MyNum As Integer '声明整型变量
Dim AnyNum As Single, MyStr As String, MyValue As Double '一个语句里声明多个变量
Dim AnyValue '声明变体变量
Dim AnyStr As String * 20 '声明定长字符串变体变量
Dim MyWeek(7) As String '声明一维字符串数组,元素为七个
Dim MySeveral(6, 2, 3) As Double 'MySeveral是一个三维双精度数组
Dim AnySeveral(6 To 15, 10 To 19) As Integer 'AnySeveral是一个显式指定了上下界的二维整型数组。
Dim MyDevel() 'MyDevel是一个变体动态数组