变量 | 字节 | 大小 | 前缀 | 类型声明 | 说明 |
Byte | 1 | 0-255 | bty | ||
Boolean | 2 | True or False | bln | ||
Integer | 2 | -32768-32767 | int | % | |
Long | 4 | -21亿-21亿 | lng | & | |
Sing | 4 | -3.4E38 3.4E38 | sng | ! | |
Double | 8 | 4.94D-324 1.79D308 | dbl | # | |
Currency | 8 | -922 337 203 685 477.5808-。。。 | cur | @ | 货币型 |
Date | 8 | 100年1月1日-9999年12月31日 | dtm | ||
String | str | $ | |||
Object | 4 | obj | 对象引用 | ||
Variant | 按需 | vnt | 变体型 |
string定长时,为固定字串长度字节,1-65400个字符
变长时,10字节+字符串长度(10字节为说明符), 0-20亿
枚举变量,同C++,即列举各值之意
Enum 枚举变量名
变量1[=value1]
.......
End Enum
特点:若未赋值,则值为0(当为第一个变量时)或者比前值大1
声明枚举只能在模块级中出现(过程外)
Enum weeken a = 3 b c d End Enum Private Sub Command1_Click() MsgBox (weeken.d) End Sub
自定义类型Type
Type 自定义类型名
元素1 as 类型
........
End Type
特点:与Enum相同,内含几个元素,且都在模块级中定义。(过程内定义即出错)
不同点,须指定类型,常用于记录中,因为一个记录中对应着相同数目却不同类型的值时,用起来很爽
模块:分标准模块和类模块,标准模块就如同公用变量一样,只不过放大成一个代码段,如果设置为public则所有过程可用,若设置为private则仅本模块内使用。
类模块,就是定义类的一个模块(代码),
过程:每个事件或函数内的变量总是private,若定义为public会出错。
要想扩大变量范围,则需在模块级中用public进行更改。
过程或函数内不能加强private
模块中默认是private,可省
常量:使用中不可改其内容的量
可分三种:局部常量、模块常量、公用常量
一、局部常量,在过程或函数中,使用完后,内在释放消失,不可用private或public进行标明
const a as date=#2003-04-22#
const b as boolean=true '非0为True,0为false
二、模块常量,过程函数外定义的,本模块内的过程和函数可用,可以用private标明(不可以用pulice进行标明)
三、公用常量,在所有过程和函数中使用,用public标明
static静态变量,与所有者的生命期相同。
例如在过程中,则过程重置或重启时,才改变其值。
默认值(初始值),变量若不赋值都有初始值
boolean False
Date 0:00:00
string 空串,或定长时为指定的空格长度
其它的整形或浮点型初始值都是0
option explicit 显式声明变量
一个窗体引用另一个窗体的变量时,有两种方法实现:
1、在第一个窗体中,过程外声明变量为public
2、在模块中声明变量为public
result = string Like pattern
result 结果为boolean,
string 要比较的字串
pattern 被参考比较的模型
其中pattern模型中可以用通配符来替代
? 一个字符 result="abcd" like "a?b*"
* 0个或多个字符
# 一个数值 result="2345" like "*34*"
[ ] 一个字符(范围) result="serkew" like "*[b-f]s?l*"
[! ] 一个字符(不在范围)
比较string是不是后面pattern的模型相匹配。
注意该表达式不能直接用于逻辑,须用其结果参与逻辑判断
进制: 八进制 &O32 十六进制 &H32 (分别为26,50)
a=&H8000000F& '第一个&H表示是进制,最后一个&表示是类型声明,即Long型,常用于颜色设置