第三章 Visual Basic程序设计基础
本章主要内容
?Visual Basic编程风格
?数据类型
?常量与变量
?运算符与表达式
?常用内部函数
3.1 Visual Basic编程风格
?VB源代码不区分字母的大小写
?语句书写自由
?适当添加注释有利用程序的维护和测试
?保留行号与下标
3.2 数据类型
?所有变量都具有数据类型, 以决定能够存储哪种数据 。
变量的数据类型决定了如何将代表这些值的位存储到计
算机的内存中 。
? 除变量外, 数据类型也用于其他场合 。 如在给对象属
性赋值时, 这个值就有数据类型;函数的参数也有数据
类型 。 事实上, 在 Visual Basic 中, 凡是涉及数据就与
数据类型有关, 包括:变量, 常量, 数组, 以及函数,
过程中的参数 。
? Visual Basic提供了标准数据类型主要有字符串型数
据和数值型数据, 此外还提供了字节, 货币, 对象, 日
期, 布尔和变体数据类型 。
数值型数据
Visual Basic 支持几种数值数据类型 — Integer
( 整型 ), Long( 长整型 ), Single( 单精度浮点
型 ), Double( 双精度浮点型 ), Currency( 货
币型 ), 另外, Byte( 字 节型 ) 也可用于数值计算 。
所有数值变量都可相互赋值 。 在将浮点数赋予整
数之前, Visual Basic将浮点数的小数部分四舍五入
到整数 。
String 数据类型
String型变量用于存储字符串, 如下列语句,
Dim S As String
S = "Database"
在缺省情况下, String 型变量是一个可变长度的字
符串变量, 随着对其赋予新数据, 它的长度可增可
减 。 但也可以声明具有固定长度 String 型变量, 语
法是,
Dim/Private/Public/ Static variablename
String * size
Boolean 数据类型
若变量的值只是, true/false”,,yes/no”,
“on/off” 信息, 则可将它声明为 Boolean 类型 。
Boolean 的缺省值为 False。
Date 数据类型
用于存储 Date 和 Time 值, Visual Basic 接受许多种
文字的 Date 和 Time 格式 。 例如,
Dim SomeDate As Date
SomeDate = #1980-03-16#
SomeDate = #3-6-93 13:20#
SomeDate = #March 27, 1993 1:20am#
Object 数据类型
Object 变量采用 32 位 ( 4 个字节 ) 地址来存储
对象, 该地址可引用应用程序中或某些其他应用程
序中的对象 。 可以随后 ( 用 Set 语句 ) 指定一个被
声明为 Object 的变量去引用应用程序所识别的任何
实际对象, 如,
Dim objDb As Object
Set objDb = OpenDatabase
("c:\Vb5\Biblio.mdb")
Variant 数据类型
Variant 型是声明变量时的缺省类型, 能够存储所
有类型的数据 。 如果把数据赋予 Variant 变量, 则不
必在这些数据的类型间进行转换; Visual Basic 会自
动完成任何必要的转换 。 例如,
Dim SomeValue
SomeValue = "17"
SomeValue = SomeValue - 15
SomeValue = "U" & SomeValue
自定义数据类型
在模块的声明部分可以使用 Type语句建立自定义
数据类型 。
语法格式,
[Private|Public] Type自定义类型名
元素 As 类型

End Type
3.3 常量与变量
?常量或变量的命名规则
?常量
?变量
3.3.1 常量或变量的命名规则
?常量或变量的名字须以字母或汉字开头,后跟
字母、汉字、数字或下划线组成的序列,长度
不超能超过 255个字符。
?不能使用 VB中的关键字命名常量或变量
?VB不区分常量或变量名中的大小写字母
?为提高程序的可读性,可在变量名前加一个缩
写的前缀来表明该变量的数据类型
3.3.2 常量
? 在程序中设置的常量, 既是用标识符表示永远不变的数
值或字符串 。 通过采用有意义的标识符表示常量值, 由
此可以提高源代码的可读性和可维护性 。
? 值得注意的是:常量不能象对变量那样在程序运行过程
中给常量标识符赋以新值 。
? 常量有两种来源:内部的或系统定义的,其由 Visual
Basic系统或引用的对象提供。用户自定义的,其需要
用 Const 语句来声明。
用户自定义常量( 1)
用户自定义常量在使用前需要声明, 由此使该标识
符能够被程序识别 。 其语法是,
[Public/ Private] Const 常量名 [As 类型 ] = 常量表
达式
例如,
Const conPi = 3.14159265358979
Const conMaxPlanets As Integer = 9
一旦已定义常量,就可将其放置在代码中 使用。
用户自定义常量( 2)
一旦已定义常量, 就可将其放置在代码中 使用 。
例如,
Const conMaxPlanets As Integer = 9
Const numPeople As Integer =19
Static SolarSystem (1 To conMaxPlanets)
If numPeople > conWorldPop Then Exit Sub
3.3.3 变量
在 Visual Basic 中执行应用程序期间, 用变量临
时存储数据 。 变量有名字 ( 变量标识符 ) 和数据类
型 ( 确定变量能够存储的数据的种类 ) 。
可以把变量看作内存中存放未知值的所在处 。
声明变量
声明变量就是事先将变量通知程序, 由此使变量
的使用合法 。
语法,Dim/Private/Public/ Static 变量名 [As 类
型 ]
例如,
Dim I As Integer
Private YourName As String,BillsPaid As
Currency
Public Test,Amount,J As Integer
变量范围
变量的范围确定了能够知晓该变量存在的那部分
代码 。
一个变量在划定范围时被看作是过程级变量, 模
块级变量, 或是公用变量 。 这取决于声明该变量时
采用的方式 。
过程级变量
过程级变量只有在声明它们的过程中才能被识别,
也称它们为局部变量 。 局部变量只能用 Dim 或 Static
关键字来声明它们 。 例如,
Dim intTemp As Integer
Static intPermanent As Integer
用 Dim 声明的变量只在过程执行期间才存在 。
而用 Static 声明的局部变量, 则在整个应用程序运
行期一直存在, 称做:静态变量 。
模块级变量
模块级变量对该模块 ( 包括:标准模块, 窗体
模块, 类模块 ) 的所有过程都可用, 但对其他模
块的代码不可用 。 可在模块顶部的声明段用
Private或 Dim关键字声明模块级变量 。 例如,
Private intTemp As Integer
公用变量
为了使模块级的变量在其他模块中也有效, 需要用
Public 关键字声明 。 经过 Public 关键字声明的变量
是公用变量, 其值可用于应用程序的所有过程 。 只能
在模块的声明段中用 Public 关键字声明公用变量,
例如,
Public intTemp As Integer
3.4 运算符与表达式
程序中对数据的基本加工, 是依靠运算符实现的 。
在 Visual Basic中运算符的类型有,赋值运算符, 算术
运算符, 比较运算符, 连接运算符, 逻辑运算符 。 通
过常量, 变量, 运算符, 函数等的组合, 由此构成表
达式 。
算术运算符
用来进行算术运算, 有,+( 加 ), -( 减 ), *( 乘 ),
/( 除 ), \( 整除 ), Mod ( 求模 ), ^( 乘方 ) 等运
算符 。
赋值运算符
Visual Basic中的赋值运算符, =” 用来给变量, 数
组或对象的属性赋值, 即把运算符右边的内容 ( 包括
常量, 变量, 函数返回值或对象的属性 ) 赋给运算符
左边的变量或属性 。
语法格式,Variable = 表达式
其中 variable可以是变量, 数组的元素, 运行时可写
的对象的属性 。 表达式可以是常数, 常量, 变量或函
数调用, 但必须有确定的值 。
连接运算符
&, + 运算符都能用于进行两个字符串的连接,
但 & 运算符强制两个表达式按字符串连接, 尽管
被连接的表达式不是字符串也是如此 。 而 + 运算
符则较复杂, 当两个表达式都是字符串时按字符
串连接, 否则视具体情况会有不同结果 。 因此,
在进行字符串连接时一般使用 & 运算符 。
逻辑运算符
逻辑运算符包括,Not( 非 ), And( 与 ), Or
( 或 ), Xor( 异或 ), Equ( 逻辑等于 ) 和 Imp
( 逻辑蕴涵 ), 用于表达两个逻辑表达式之间的关
系 。 在进行逻辑运算时, 只要参入运算的表达式中
有一个为 Null,则将返回 Null。
运算符的优先顺序
在表达式中, 当运算符不止一种时, 要先处理算
术运算符, 接着处理比较运算符, 然后再处理逻辑
运算符 。
算术运算符优先级由高至低是:指数运算 (^),负
数 (– ),乘法和除法 (*,/),整数除法 (\),求模运
算 (Mod),加法和减法 (+,– ),字符串连接 (&)。
逻辑运算符优先级由高至低是,Not,And,Or、
Xor,Eqv,Imp 。
所有比较运算符的优先顺序都相同 。
3.5 常用内部函数
除了建立函数过程外,Visual Basic还提供了丰富
的内置函数可用于程序设计,包括,数学函数,
字符串函数,判断函数、转换函数 等方面的函数。