目录
基本数据类型
算术运算符
常用数学函数
数组的声明
日期型数据
常用日期与时间函数
Print函数
常用字符串函数
常用类型转换函数
比较运算符
逻辑运算真值表
代码模块、变量的作用域
通用过程
数据文件
图形方法
基本数据类型
数据
关键字
占用字节数
类型符
说明
整型
integer
2
%
±32768
长整型
long
4
&
±2147483648
单精度
single
4
!
带小数的7位有效数字
双精度
double
8
#
带小数的15位有效数字
货币型
currency
8
@
15位数字加四位小数
字节型
byte
1
0~255
字符型
string
字符串长
例如:Dim * as string*4
布尔型
boolean
2
Truefalse
对象型
object
4
任何对象引用
日期型
date
8
1/1/100~12/31/9999
变体型
variant
按需分配
算术运算符
运算符
名称
优先级
^
乘方
1
-
取负
2
*,/
乘,除
3
\
整除
4
mod
求余的模运算
5
+,-
加,减
6
常用数学函数
Abs(x)
返回值与x相同
绝对值
Sin(x)
返回值Double
正弦
Tan(x)
返回值Double
正切
Sqr(x)
返回值Double
平方根
Cos(x)
返回值Double
余弦
Atn(x)
返回值Double
反正切
三角函数的自变量是弧度。例:47°应写成47*3.14159/180
Exp
返回值Double
e(自然对数)的幂值
Log
返回值Double
自然对数
Fixx
返回值
Integer
得到x的整数部分
Intx
返回值Double
不大于x的最大数
例:int(2)=2int(-2.5)=-3
四舍五入:int(x+0.5)
Finx
返回值Double
x的整数部分
Sgnx
返回值Integer
x的符号
Sgn(5)=1sgn(0)=0sgn(-5)=-1
Rndx
返回值Single
随机数
产生0~x之间的随机数,不包括x
[a,b]区间的随机数的公式:Int((b-a+1)*Rnd+1)
初始化随机数生成器:Randomize(n)n为整型数)或 Randomize
代码模块、变量的作用域
代码模块
Vb应用程序由3种模块组成,窗体模块、标准模块和类模块。
一个窗体对应一个窗体模块,窗体模块可以包括事件过程、通用过程及变量声明部分,这些部分连同窗体一起存入窗体文件(.form
当一个应用程序有多个窗体,且这些窗体需要调用某一个通用过程时,需建立一个标准模块,在该标准模块中建立通用过程。
启动过程Sub main也存放在标准模块中。
默认情况下,标准模块中的代码是公有的,任何窗体或模块中的事件过程或过程都可以访问它。
类模块主要用来定义类和建立ActiveX组件。
变量的作用域
局部变量
过程中Dim
局部变量中的动态变量,处理过后清零
过程中Static
局部变量中的静态变量,处理过后不清零
不同的过程中可以用相同的局部变量名
模块级变量
声明中Dim|Private
模块级变量,别的窗体或模块不能使用
声明中 Public
别的窗体可以用[窗体名.变量名]来引用
全局变量
在标准模块的通用声明中
Global | Public
可以被程序中任何一个窗体或模块直接访问
Const定义的符号常量也能声明为全局
常量
格式:[public|private]const 常量名[as 数据类型]=表达式(缺省为private
Public:可在整个程序中使用
Private:只能在该过程范围中使用
例:const PI=3.14159
例:const MAX as integer=876
日期型数据
日期型数据的表示
#08/20/2008# ,#2008-08-20# ,#2008-08-20 12:55:20 AM#
日期型数据的计算
两个日期型数据相减得到一个数值型数据
#8/8/2008# - #6/3/2008# 结果为:66(天)
日期型数据加上数值型数据得到日期型数据
#12/1/2008# +31结果为:#1/1/2009#
日期型数据减去数值型数据得到日期型数据
#12/1/2008# -32结果为:#10/30/2008#
常用日期与时间函数
函数
返回值
功能
例子
结果
Date
Date
返回系统日期
Date
Time
Date
返回系统时间
Time
Now
Date
返回系统日期和时间
Now
Day
Integer
返回天数
Day(#2008/10/24#)
24
Month
Integer
返回月份数
mouth(#2008/10/24#)
10
Year
Integer
返回年度数
year(#2008/10/24#)
2008
Weekday
Integer
返回星期几返回值为1~7代表星期日到星期六
weekday(#2008/10/24#)
5
Hour
Integer
返回小时数
hour(#8:3:28PM#)
20
Minute
Integer
返回分钟数
minute(#8:3:28PM#)
3
Second
Integer
返回秒数
second(#8:3:28PM#)
28
常用字符串函数
函数
返回值
功能
例子
结果
Len(字符串)
Integer
字符串长度
Len(“ABCD”)
4
Left(字符串,n)
String
取左边n个字符
Left(“ABCD”,3)
“ABC”
Righ(字符串,n)
String
取右边n个字符
Righ(“ABCD”,3)
“BCD”
Mid(字符串,p[,n])
String
从第p个开始取n个字符若省略n,则得到从p后开始的所有字符
Mid(“ABCDE”,2,3)
Mid(“ABCDE”,2)
“BCD”
“BCDE”
Mid(字符串,p[,n])=子字符串
String
用子字符串替换从p开始于子字符串等长的一串字
若带n,则是用子字符串左起n个字符来替换从p开始的n个字符
S=“ABCDE”
Mid(S,3)=99
S=“AB99E”
Instr([f,]字符串1,字符串2[,k])
Integer
求字符串2在字符串1中出现的位置
f表示开始搜索的位置,默认为1
k表示是否区分大小写,默认为0区分,1为不区分
Instr(“ABabc”,”ab”)
Instr(3,”A12a34A56”,”A”)
Instr(3,”A12a34A56”,”A”,1)
3
7
4
String(n,字符)
String
生成n个字符
可用ASCII码表示字符
String(4,”*”)
String(4,42)
“****”
Spacen
String
生成n个空格
Space(5)
5个空格
Ltrim(字符串)
String
去掉左边空格
Ltrim(”  ab “)
“ab “
Rtrim(字符串)
String
去掉右边空格
Rtrim(”  ab “)
“  ab”
Trim(字符串)
String
去掉两边空格
Trim(”  ab “)
“ab”
Lcase(字符串)
String
转成小写
Lcase(“ABab”)
“abab”
Ucase(字符串)
String
转成大写
Ucase(“ABab”)
“ABAB”
Strcomp(字符串1,字符串2[,k])
Integer
串1<串2  -1
串1=串2  0
串1>串2  1
Strcomp(“AB”,”ABC”)
-1
常用类型转换函数
函数
返回值
功能
例子
结果
Val(x)
Double
将数值字符串转换为数值
转换时会自动将空格去掉,并依据字符串中排列在前面的数值常量来定值
2+val(“12A12”)
Val(“A12”)
Val(“1.2e2”)
14
0
120
Str(x)
String
将数值转换为字符串,字符串首位表示符号
Str(5)
“ 5”
Asc(x)
Integer
求字符串首字符的ASCII码
Asc(”AB”)
65
Chr(x)
String
将x按照ASCII码转换成字符
Chr(65)
“A”
Cint(x)
Integer
将x转换为整型数,小数位四舍五入
Cint(1234.56)
1235
Clng(x)
Long
将x转换为长整型数,小数位四舍五入
Clng(343.3)
343
Csng(x)
Single
将x舍入为单精度数
Csng(56.5421117)
56.54211
Cdbl(x)
Double
将x转换成双精度数
Cdbl(1234.5678)
1234.5678
Ccur(x)
Currency
将x转换成货币型数,四舍五入保留4位小数
Ccur(123.45678)
123.4568
Cvar(x)
Variant
将x转换为变体型数
Cvar(99&”00”)
“9900”
Hex(x)
String
将x转换成十六进制数
Hex(31)
“1F”
Oct(x)
String
将x转换成八进制数
Oct(20)
“24”
Print函数
格式
功能
结果
vb所有代码
Spc(n)
在输出下一项前插入n个空格
Print  “学号”;”姓名”;spc(5);”成绩”
学号姓名    成绩
Tab(n)
把输出位置移到第n列,当n大于行宽时,输出位置为n Mod行宽
Print Tab(2); “学号”; Tab(10); “姓名”; Tab(18); “成绩”
学号    姓名    成绩
Format函数
格式串
含义
结果
#
数字占位符,显示一位数字
a=4513.7:b=3456.78
timevar=#8:30:05 PM#
print format (a,”##,###.##”)
print format (a,”$##,###.00”)
print format (b,”+##,###.#”)
print format (timevar,”h:m:s”)
4,,513.7
$4,513.70
+3,456.8
20:30:5
0
数字占位符,空位会补足0
.
小数点
%
百分比符号
,
千位分隔符
e-,e+
科学计数法格式
-,+,$
正负及美元符号,可以原样显示
\
将格式串的下一个符号原样显示出来
比较运算符及关系表达式示例
运算符
名称
关系表达式示例
结果
<
小于
3<8
true
<=
小于等于
2<=4
true
>
大于
6>8
false
>=
大于等于
7>=9
false
=
等于
ac = a
false
< >
不等于
3<>6
true
LIKE
比较样式
"abc"like “?b”
true
IS
比较对象变量
逻辑运算真值表
异或
等价
蕴涵
A
B
A and B
A or B
not A
A xor B
A eqv B
A xmp B
True
True
True
True
False
False
True
True
True
False
False
True
False
True
False
False
False
True
False
True
True
True
False
True
False
False
False
False
True
False
True
True
逻辑运算表达式的运算顺序是:先进行算术运算,再做比较运算,最后进行逻辑运算,括号优先,同级运算从左到右执行。逻辑运算按not,and,or,xor,eqv,xmp的优先级执行
例:判断是否为闰年
条件:能被4整除但不能被100整除,或能被400整除
(y mod4=0 and y mod 100 <> 0)or(y mod 400 = 0)
(int(y/4)=y/4 and int(y/100)<>y/100)or(int(y/400)=y/400)
数组的声明
Dim数组名 ([下界1 to][上界1][,[下界2 to]上界2…])[as 数据类型]
Dim sum(10) as long
Dim ary(1 to 15) as integer
Dim d(1 to 5,1 to 20) as double
下标号从0至10,共11个元素
下标号从1至15,共15个元素
定义而为数组
Option base n
本语句在模块级声明段中使用,用来指定模块中数组下标的默认下界,n为数组的默认下界,只能是0或1
数组变量名=array(数组元素值)
数组不能定义维数和上界,下界为默认
数组变量只能为变体类型
只能给一维数组赋值
Redim[preserve]数组名 ([下界1 to][上界1][,[下界2 to]上界2…])[as 数据类型]
在本语句重新定义的动态数组中每一维的上界和下界可以包含常量或变量表达式
当重新分配动态数组时,数组中的内容将被清除,但preserve可保持数据不变
如果已将一个数组声明为某种类型,不能再使用redim将该数组改为其他类型
可以用redim直接定义数组,通常只是用来重新声明数组大小
Dim f as integer
……
Size = 20
Redim f(size)
……
Erase数组名[,数组名]……
该语句用来清除静态数组的内容或用来释放动态数组占用的内存空间
对于静态数组,经过处理就是内容清零变成空数组
对于动态数组,经过处理后就不存在了
通用过程

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。