前言
Visual Basic(VB)是由微軟公司開發的包含環境的事件驅動程式語言。它源自於BASIC程式語言。VB擁有圖形化使用者介面(GUI)和快速應用程式開發(RAD)系統,可以輕易的使用DAO、RDO、ADO連接資料庫,或者輕鬆的建立ActiveX控制項。程式設計師可以輕鬆地使用VB提供的組件快速建立一個應用程式。(维基百科)
注释
语句分隔符
- 每句代码独占一行
- 如果想要多个代码共同占一行,需要使用
;
进行分隔
代码结构
定义事件
定义无参的事件
1 2 3 4 5
| Sub 对象名_事件名()
方法内的代码
End Sub
|
定义有参的事件
1 2 3 4 5
| Sub 对象名_事件名(参数)
方法内的代码
End Sub
|
获取和修改对象的属性值
获取对象的属性值
设置对象的属性值
调用方法
调用无参的方法
调用有参的方法
标识符
- 标识符必须以字母或汉字开头,后跟字母、汉字、数字、下划线
- 变量名的最后一个字符可以是类型符
- VB不区分英文大小写
- 标识符不可以与关键字重名
关键字
- 关键字也称为保留字,是程序设计语言中预先定义的、具有特殊含义的标识符
常量
- VB中的常量有两种:直接常量和符号常量
- 直接常量直接用数据表示
- 符号常量用一个标识符代替一个常量
- 在系统内部预先定义好的符号常量
- 用户定义的符号常量
常量的定义
省略数据类型
- 如果省略数据类型,VB按表达式的求值结果确定合适的数据类型
变量
变量声明
显式声明
声明变量并指定数据类型
声明变量不指定数据类型
变量名末尾添加类型符
声明整型变量
1 2 3
| Dim 变量名 As Integer
Dim 变量名%
|
声明单精度型变量
1 2 3
| Dim 变量名 As Single
Dim 变量名!
|
声明多个变量
1
| Dim 变量名 As 数据类型, 变量名, 变量名%
|
隐式声明
- 不作变量的声明而直接使用的,这种方式为隐式声明
- 隐式声明的变量默认为变体型,可以存放任意类型的数据
赋值
- 变量未赋值时将采用默认值
- 如果等号两侧数据类型不一致时,将自动转换数据类型
为变量赋值
为对象的属性赋值
为对象的默认属性赋值
同时为多个变量赋值
- 区别:使用
;
分隔开的是多条代码,而使用,
分隔开的是一条代码
- 不使用Dim关键字赋值时,只能使用
;
分隔
运算符与表达式
算数运算符
优先级 |
运算符 |
备注 |
0 |
() |
优先运算 |
1 |
^ |
求幂 |
2 |
- |
求负 |
3 |
* |
求积 |
3 |
/ |
求商 |
4 |
\ |
整除求商 |
5 |
Mod |
求模 |
6 |
+ |
求和 |
6 |
- |
求差 |
- 整除时,商只保留整数部分,小数部分舍弃
- 求模时,正负号跟由模运算符前面的数决定
- 如果求差的两者都是日期,结果就为两个日期相差的天数
- 日期型数据加或减一个整数,结果仍为日期型数据
关系运算符
运算符 |
备注 |
= |
相等 |
> |
大于 |
< |
小于 |
>= |
大于等于 |
<= |
小于等于 |
<> |
不等于 |
Link |
与通配符比较 |
Is |
|
- 如果比较时两者都是数字,就按照数值比较
- 如果比较时两者都是字母,就按照字母的ASCII码值比较
- 如果比较时两者都是中文,就按照中文拼音首字母的ASCII码值比较
- 如果比较中文和英文,那么中午大于英文,因为中文的Unicode编码大于英文的Unicode编码
- 关系运算符的优先级都相同
Link
通配符 |
备注 |
* |
代表任意一个或多个字符 |
? |
代表任意一个字符 |
# |
代表任意一个数字 |
逻辑运算符
优先级 |
运算符 |
备注 |
最高 |
() |
优先运算 |
高 |
Not |
非。取反 |
中 |
And |
与。有False则False,全True则True |
低 |
Or |
或。有True则True,全False则False |
字符串运算符
运算符 |
备注 |
& |
任意数据类型与任意数据类型合并为字符串 |
+ |
字符串与字符串合并为字符串 |
- 变量与运算符
&
之间要用空格隔开,以免被VB误认为是八进制数或类型符
各个运算符的优先级
优先级 |
运算符 |
0 |
() |
1 |
算数运算符 |
2 |
字符串运算符 |
3 |
关系运算符 |
4 |
逻辑运算符 |
输出语句
自动换行
不自动换行
变量的作用域
局部变量(过程级变量)
- 在事件过程和通用过程内,用
Dim
修饰的变量、用Static
修饰的变量、隐式声名的变量
- 形参也看作是局部变量
- 局部变量只能在本过程中使用,不能被其他过程引用
- 不同过程中声名的局部变量可以同名
模块级变量(文件级变量)
- 在窗体模块和标准模块的通用声名段,用
Dim
修饰的变量、用Private
修饰的变量
- 模块级变量可以被本模块内的所有过程引用
- 不同模块中所声名的模块级变量可以同名
- 如果模块级变量与局部变量同名,则在声名该局部变量的过程中优先引用局部变量
全局变量(工程级变量)
- 在窗体模块或标准模块中的通用声名段,用
Public
修饰的变量
- 全局变量可以被本工程内的所有过程引用
- 如果全局变量声名在标准模块中,可在任何过程中引用;如果声名在窗体模块中,在其他窗体模块或标准模块中使用
声名该变量的窗体名.变量名
引用
- 不同模块声名的全局变量可以同名,但在引用时应在变量名前加声名该变量的窗体名或标准模块名
- 如果全局变量与局部变量同名,优先引用局部变量,如果需要引用同名的全局变量,应在全局变量名前加上全局变量所在的窗体模块或标准模块名
完成
参考文献
哔哩哔哩——教达优