第四章 一、数据类型 (一)基本数据类型 数据类型Visual Basic6.0提供的基本数据类型主要有字符串型和数值型,此外还提供了字节、货币、对象、日期、布尔和变体数据类型。 (二)用户定义的数据类型 用户可以利用Type语句定义自己的数据类型,其格式如下:Type 数据类型名。 数据类型元素名 As 类型名数据类型元素名 As 类型名 …… End Type (三)枚举类型 所谓“枚举”是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。 枚举类型放在窗体模块、标准模块或公用类模块中的声明部分,通过Enum语句来定义,格式如下: [Public|Private]Enum类型名称成员名[=常数表达式]成员名[=常数表达式] …… End Enum 二、常量和变量 (一)常量 Visual Basic中的常量分为两种,一种是文字常量,一种是符号常量。 (二)变量 1.命名规则 变量是一个名字,给变量命名时应遵循以下规则: (1)名字只能由字母、数字和下划线组成; (2)名字的第一个字符必须是英文字母,最后一个字符可以是类型说明符; (3)名字的有效字符为255个; (4)不能用Visual Basic的保留字作变量名,但可以把保留字嵌入变量名中;同时,变量名也不能是末尾带有类型说明符的保留字。 2.变量的类型和定义 任何变量都属于一定的数据类型,包括基本数据类型和用户定义的数据类型。在Visual Basic中,可以用下面几种方式来规定一个变量的类型: (1)用类型说明符来标识。 (2)在定义变量时指定其类型。 (3)用DefType语句定义。 (4)用类型说明符定义的变量,在使用时可以省略类型说明符。 (三)变体类型变量 1.Variant变量的定义 Variant变量可以用普通数据类型变量的格式定义,也可以默认定义。 2.Variant变量值的内部表示 Variant变量所存放的值都有一个内部表示,在执行比较等操作时,Variant变量根据其内部表示确定如何操作。向Variant变量赋值时,Visual Basic以最紧凑(需最小存储空间)的表示方式存储该值,并可根据需要改变表示方式。 3.Variant变量中的数值 在Variant变量中存放数值时,Visual Basic以尽量紧凑的方式存储。 4.Variant变量中的字符串 在对存放字符串的Variant变量进行操作时可能会产生歧义。当用“+”运算符对两个Variant变量进行运算时,如果两个变量都是数值,则执行数值相加运算;如果两个变量中存放的都是字符串,则执行字符串连接操作。如果一个变量中是数值而另一个变量中是字符串,则情况就复杂了。Visual Basic先试着将字符串转换为数值,如果转换成功则进行相加运算,不成功则把另一个数值转换成字符串,然后对两个字符串进行连接,形成一个新的字符串。 5.Variant变量中的空值(Empty) Variant变量在被赋值前为空值(内部表示为Empty或0),它不同于数值0,不同于空字符串(″″),也不同于Null(见下)。通过IsEmpty函数可以测试一个变量自建立以来是否被赋过值。 6.Variant变量中的Null值 Variant变量可以取一个特殊值---Null,该值通常在数据库应用程序中用来指出未完成或漏掉的数据。Null值具有以下一些特性; (1)“蔓延性”。如果表达式中任一部分为Null,则整个表达式的值即为Null。 (2)如果向函数传送Null、值为Null的Variant变量或结果为Null的表达式,则会使大多数函数返回Null值。 (3)Null值会在返回Variant变量的内部函数中蔓延。 三、变量的作用域 (一)局部变量与全局变量 根据变量的定义位置和所使用的变量定义语句的不同,Visual Basic中的变量可以分为3类,即局部(Local)变量、模块(Module)变量及全局(Public)变量,其中模块变量包括窗体模块变量和标准模块变量。 (二)默认声明 默认定义的变量不需要使用Dim语句,因此比较方便,并能节省代码,但有可能带来麻烦,使程序出现无法预料的结果,而且较难查出错误。 四、常用内部函数 (一)转换函数 1.取整函数Int和Fix 2.数制转换函数 3.类型转换函数 4.格式输出函数 (二)数学函数 1.三角函数 2.绝对值函数(Abs) 3.符号函数(Sgn) 4.平方根函数(Sqr) 5.指数和对数函数(Exp、Log) (三)日期和时间函数 1.Microsoft Windows的计时系统。 2.日期函数。 3.时间函数。 4.日期/时间数值化函数。 5.日期/时间运算函数。 6.用变体类型表示日期。 (四)随机数函数 1.随机数函数Rnd。
2.Randomize语句。 1.删除空白字符函数 (1)LTrim$(字符串):去掉“字符串”左边的空白字符; (2)RTrim$(字符串):去掉“字符串”右边的空白字符; (3)Trim$(字符串):去掉“字符串”两边的空白字符。 2.字符串截取函数 用来截取字符串的一部分,可以从字符串的左部、右部或中部截取。 (1)左部截取 格式eft$(字符串,n)。 3.字符串长度测试函数 格式en(字符串)Len(变量名)。 4.String$函数 格式:String$(n,ASCII码)String$(n,字符串)。 5.空格函数 格式:Space$(n) 6.字符串匹配函数 在编写程序时,有时候需要知道是否在文本框中输入了某个字符串,这可以通过InStr函数来判断。 格式:InStr([首字符位置,]字符串1,字符串2[,n])。 7.字母大小写转换 格式:Ucase$(字符串)Lcase$(字符串)。 8.插入字符串语句Mid$ 格式:Mid$(字符串,位置[,L])。 六、运算符与表达式 (一)算术运算符 1.幂运算; 2.浮点数除法与整数除法; 3.取模运算; 4.算术运算符的优先级; 5.字符串连接。 (二)关系运算符与逻辑运算符 1.关系运算符; 2.逻辑运算符。 (三)表达式的执行顺序 一个表达式可能含有多种运算,计算机按一定的顺序对表达式求值。一般顺序如下: (1)首先进行函数运算; (2)接着进行算术运算,其次序为: 幂(^)→取负(-)→乘、浮点除(*、/)→整除(\)→取模(Mod)→加、减(+、-)→连接(&) (3)然后进行关系运算(=、>、<、<>、<=、>=); (4)最后进行逻辑运算,顺序为: Not→And→Or→Xor→Eqv→Imp |