金文vb二级讲义
在使用记录类型之前,必须用type语句加以定义。在一般情况下,记录类型在标准模块中定义,其变量可出现在工程的任何地方、当在标准模块中定义时,关键字type前可以有public(默认)或private ;而如果在窗体模块中定义,则必须在前面加上关键字private。 3)在记录类型中不能使用动态数据。
4)在随即文件操作当中,记录类型数据具有着重要作用。 四. 枚举类型
1. 所谓“枚举”是指将变量个值一一列举出来,变量的值只限于列举出来的范围内。
2. 枚举类型放在窗体模块、标准模块或公用模块的声明部分,通过enum语句来定义,格式如下:
[public|private]enum 类型名称 成员名[=常熟表达式] 成员名[=常熟表达式] …….. End enum 3. 说明
1)public:表示所定义的enum类型在整个工程中都是可见的,在默认情况下,enum类型被定义为public。
Private:表示所定义的enum类型只在所声明的模块中是可见的。
2)在enum语句的格式中,“常数表达式”可以省略,在默认情况下,枚举中的第一个常熟被初始化为0,其后的常熟则初始化为比其前面的常数大1的值。 3)vb将枚举航总的常数数值看作长整数。如果讲一个浮点数值赋给一个枚举中的常数,vb会将该数值取整为最接近的长整数。
4)当对一个枚举中的常数赋值时,可以使用另一个数值枚举中的常数数值。
第三节 常量和变量
一. 常量
Vb中的常量分为两种,一种是文字常量,一种是符号常量。 1. 文字常量:vb的文字常量分为两种,既字符串和数值。
1)字符串常量:字符串常量由字符组成,可以是除双引号和回车符之外的任何ASCⅡ字符。
2)数值常量:数值常量共有4种表示方式,既整数、长整型数、货币型数和浮点数。
(1)整型数:有3中形式,既十进制、十六进制和八进制。 十进制整数:0——9组成,取值-32768——32767 十六进制数:0——9及A——F组成,前面&H开头,取值范围&H0——&HFFFF。 八进制整数:0——7组成,前面&或&0开头,取值范围&00——&0177777。 (2)长整型数:也有三种形式。
十进制整数:0——9组成,取值-32768——32767
十六进制数:0——9及A——F组成,前面&H开头,以&结尾,取值范围&H0——&HFFFF。
金文vb二级讲义
八进制整数:0——7组成,前面&或&0开头,一&结尾,取值范围&00——&0177777。
(3) 货币型:也称定点数。
(4) 浮点数:也称实数,分为单精度浮点数和双精度浮点数。浮点数由尾数、
指数符号和指数3部分组成。 注:类型说明符: % 整型 & 长整型
! 单精度浮点型 # 双精度浮点型 @ 货币型 $ 字符串型 2. 符号常量
1)在vb中,可以定义符号常量,用来代替数值或字符串,一般格式为:
Const 常量名=表达式[,常量名=表达式]······
2)在使用符号常量时,应注意一下几点:
(1) 可以在常量名后面加上类型说明符,例如: Const ONE&=1 Const TWO&=1
(2) 当在程序中应用符号常量时,通常省略类型说明符。 (3) 类型说明符不是符号常量的一部分,定义符号常量后,在定义变量时要谨
慎。
二.变量 1.命名规则
变量是一个名字,给变量命名时应遵循一下规则: 1)名字只能由字母、数字和下划线组成。
2)名字的第一个字符必须是英文字母,最后一个字符可以是类型说明符。 3)名字的有效字符是255个。 4)不能用vb的保留字做变量名,但可以把保留字嵌入变量名中;同时变量名也不能是末尾带有类型说明符的保留字。
5)Vb不区分变量名和其他名字中字母的大小写,习惯上,符号常量一般用大写字母定义。
3. 变量的类型和定义 1)用类型说明符来标识
把类型说明符放在变量名的尾部,可以标识不同的变量类型。 注:类型说明符: % 整型 & 长整型
! 单精度浮点型 # 双精度浮点型 @ 货币型 $ 字符串型
金文vb二级讲义
2)在定义变量时指定其类型 可以用下面的格式定义变量 Declare 变量名 as 类型
这里的declare 可以是dim、public或static。As是关键字。“类型”可以是基本数据类型或用户定义类型。
(1) dim:用于在标准模块、窗体模块中定义变量或数组。
用as string可以定义变长字符串变量,也可以定义定长字符串变量,变长字符串变量本身的长度取决于赋给它的字符串常量的长度,定长字符串变量的长度通过加上“+数值”来确定。
注意:当一个dim语句中定义多个变量时,每个变量都用用as字句声明其类型,否则该变量被看做是变体类型。 (2) static :用于在过程中定义静态变量及数组变量。与dim不同,如果用static
定义了一个变量,则每次引用该变量时,其值会继续保留,而当引用dim定义的变量时,变量值会被重新设置(数值变量重新设置为0,字符串变量被设置为空)。通常把由dim定义的变量称为自动变量,而把由static定义的变量称为静态变量。
(3) public:用来在标准模块中定义全局变量或数组。
3)用deftype语句定义
(1) 用defype语句可以在标准模块、窗体模块的声明部分定义变量,一般格
式为:deftype 字母范围
(2) Type是类型标志,可以是int(整型)、lng(长整型)、sng(单精度型)、
dbl(双精度型)、cur(货币型)、str(字符串型)、byte(字节型)、bool(布尔型)、date(日期型)、obj(对象型)、var(变体型)、 注意:def和类型标志之间不要有空格。“字母范围”用“字母-字母”形式表示。
3.记录类型变量
在一般情况下,记录类型应在标准模块中定义;如果在窗体模块中定义,则必须在“type”关键字前面加上“private
第四节 变量的作用域
一. 局部变量与全局变量
Vb应用程序由3种模块组成,既窗体模块、标准模块和内模块。窗体模块包括事件过程、通用过程、声明部分;而标准模块由通用过程和声明部分组成。
变量可分为3类:局部变量、模块变量和全局变量。模块变量包括窗体模块和标准模块。
金文vb二级讲义
1. 局部变量
在过程(时间过程或通用过程)内定义的变量叫做局部变量,其作用域是它所在的过程。
2. 模块变量(窗体变量和标准模块变量)
1) 窗体变量可用于窗体内的所有过程,一个窗体可以含有若干个过程(时间过程或通用过程)。 2) 在使用窗体层变量前,必须先声明,也就是说,窗体变量是不能默认声明。其方法是,在程序代码窗口的“对象”框中选择“通用”,并在“过程”框中选择“声明”,然后就可以在程序代码窗口中声明窗体层变量。 3) 标准模块中的模块变量和窗体变量定义方式相似。 4) 模块变量的声明部分用private或dim声明。 3. 全局变量
4. 全局变量也称全程变量,其作用域最大,可以在工程的每个模块、每个过程中使用、全局变量必须用public语句声明,只能在标准模块中声明,不能在过程或窗体模块中声明。 变量的作用域 名称 作用域 声明位置 使用语句 局部变量 模块变量 全局变量 过程 窗体模块或标准模块 整个应用程序 过程中 模块的声明部分 标准模块的声明部分 Dim或static Dim或private Public 二.默认声明
1.如果没有类型说明符,vb把该变量指定为变体数据类型。 2.在时间过程中,变量没有定义默认定义为局部变量。 3.要求变量声明设置 “工具”—》“选项”—》“编辑器”—》“要求变量声明”—》“确定”
这样设置以后,每次建立新文件时,vb将把语句optionexplocit(选择显示)自动加到全局变量或模块及变量的声明部分,这种情况下,如果运行含有默认声明的程序,vb将显示一个信息框,提示“变量未定义”。
第五节
常用内部函数
金文vb二级讲义
类别 转换 函数 数学 函数 函数 Int(x) Fix(x) Hex(x) Oct(x) Asc(x) Chr(x) Str(x) Clat(x) Ccor(x) Cdbl(x) Clng(x) Csng(x) Cvar(x) Sin(x) Cos(x) Tan(x) Atn(x) Abs(x) Sgn(x) Sqr(x) Exp(x) 日期 函数 随机 函数 功能 求不大于自变量x的最大数 去掉一个浮点数的小数部分,保留其整数部分 把一个十进制数转换成一个十六进制数 把一个十进制数转换成一个八进制数 返回字符串当中第一个字符的ASCII码 把x的值转换成相对应的ASCII码对应的字符 把x的值转换为一个字符串 把x的小数部分四舍五入,转换为整数 把x的值转换为货币类型,小数部分最多保留4位且制动四舍五入 把x的值转换为双精度 把x的值的小数部分四舍五入转换为长整型数 把x的值转换为单精度 把x的值转换为变体类型值 返回自变量x的正弦值 返回自变量x的余弦值 返回自变量x的正切值 返回自变量x的反正切值 返回自变量x的绝对值 返回自变量x的符号, 当x为负数时,返回-1; 当x为0时,返回0; 当x为正数时,返回1 返回自变量x的平方根,(x必须大于或等于0) 返回以e为底,以x为指数的值,即求e的x次方 Day(now) 返回当前的日期 WeekDay(Now) 返回当前的星期 Month(Now) 返回当前的月份 Year(Now) 返回当前的年份 Hour(Now) 返回小时(0~23) Minute(Now) 返回分(0~59) Second(Now) 返回秒 (0~59) Rnd(x) 产生一个0~1之间的单精度随机数