VB语言基础
一、数据类型
1、数值型: 取值范围: Byte(字节型)━占1字节; 0~255无符号 Integer(整型)━占2字节; -32768~32767
long(长整型)━占4字节; -2147483648~2147483647 single(单精度浮点)━占4字节; 略 Double(双精度浮点)━占4字节; 略
Currency(货币型)━占8字节 小数点左15位,右4位 (精确定点数据类型) 2、逻辑型:
Boolean(布尔型)━占2字节; true或false 3、字符串型:
String?a?a定长型占字符串长度,变长型再加10 4、日期型:
Date(日期型)━占8字节 100-1-1~9999-12-31 5、对象型:
Object━占4字节; 任何Object引用 6、变体型:
Variant━变体型数字占16字节,变体型字符占22字节+字符串长 注:此类型还包含三种特定值: Empty;Null;Error; 7、用户定义的数据类型:
用户可以利用Type语句定义自己的数据类型。格式如下 Type 数据类型名
数据类型元素名 As 类型名 ?? End Type
用Type可定义类似于C语言中的结构体类型。例如: Type Date_Rec
RYear As Integer RMonth As String*3 RDay As Integer End Type
注:记录类型中的元素可以是字符串,但必须是定长字符串,其长度由类型名加上一个星号和常数指明。 二.变量 1. 定义
一个有名字的内存单元就叫变量。在程序运行期间变量的值量可以变的。 2.声明
⑴用声明语句声明变量
格式:Dim/Static 变量名 As 类型/类型名 ⑵有类型说明符表示变量
将类型说明符放在变量名尾部,可以表示不同的变量。 类型说明符:
% :整型; & :长整型; !:单精度浮点型; # :双精度浮点型;
@ :货币型; $ :字符串型;
字节、布尔、日期、对象及变体型没有类型说明符。 注意:
① Dim a,b,c As Integer是错误的。只有c被声明成Integer,而a,b缺省为Variant类型。 ② 如果使用Dim x As Integer语句声明了变量x为Integer,而在后面又使用带有类型说明符的该变量,如x$,x!,x@和x#,程序运行时就会产生“duplicate definition”错误。 ③ 使用不带As的Dim语句,会被声明成变体类型的变量。
④ 通过不带长度说明的字符串声明语句可以声明变长字符串。 ⑤ 对于声明布尔型的变量,其缺省值为False ;
⑥ 为声明为Date类型的变量赋值时,日期值应放在一对#之间,且多种日期和时间格式在VB中都是有效的。 ⑶隐含声明
VB允许使用不声明的变量,即一个变量未经声明就可以在程序中使用。(使用隐含变量时,VB会自动创建变量,并赋予它变体类型
在VB程序开始处,利用Option Explicity语句声明
但是需要注意的是:option explicit语句必须写在模块的所有过程之前。如果模块中使用了option explicit语句,使用未声明的变量名时编译会出现错误。 3.变量的有效范围
变量的作用域指的是变量的有效范围。为了能正确地使用变量的值,应当明确可以在程序的什么地方访问该变量。VB中变量可以分为3类:局部(Local)变量、模块(Module)变量及全局(Public)变量,其中模块变量包括窗体模块变量和标准模块变量。各变量位于不同的层次。
(1) 局部变量:在一个过程内部声明的变量,有效范围限于声明它的过程 自动变量:用Dim声明,变量值只在过程执行期间才存在 静态变量:用Static声明,变量值在程序运行期间一直存在 (2) 模块变量:“通用”声明段用Private或Dim语句声明,可被该模块中的任何过程所访问 (3) 全局变量:标准模块的声明段用Public或Global声明,效范围是整个工程的所有模块 说明:
标准模块:只含有程序代码的文件,扩展名为.bas 添加标准模块:“工程→添加模块” 如果在窗体模块的“通用”声明段
用Public声明变量,其它模块可通过如下方式引用该变量: 窗体模块名.变量名 4.变量命名原则
⑴必须以字母或数字开头,合可跟汉字,字母、数字或下划线组成,长度小于等于255个字符。 ⑵不能使用VB关键字。
⑶变量名不能与过程名或符名常量同名。 ⑸变量名在同一范围内必须是唯一的。 5、枚举类型:
当一个变量只有几种可能的值时,可将这个变量定义为枚举类型。
枚举类型的声明放在窗体模块、标准模块或公用类模块中的声明部分,用Enum语句来定义,格式如下:
[Public|Private] Enum 类型名称 成员名[=常数表达式] 成员名[=常数表达式] ?-?- End Enum
默认情况下,枚举类型中的第一个常数被初始化为0,其后的常数逐项递增1。 三. 常量 1、定义
在程序运行过程其值始终不变的量。 2、种类
vb中的常量可以分为1,直接常量 2,符号常量
直接常量可分为 数值常量 字符串常量 布尔常量 日期常量 (当然直接常量是不用定义的)
符号常量可分为 系统内部常量和自定义常量 (系统内部常量也不用自己定义)
自定义常量格式如下: [Public|private]const 常量名 [as 数据类型]=表达式
使用常量时应注意:
(1) 用Const声明的常量在程序运行过程中是不能被重新赋值的。 (2) 在常量声明的同时赋值。
(3) 可以为声明的常量指定数据类型,如Const conVal As Currency=3.78,缺省时为所赋值的类型。
(4) 在用常量为常量初始化时注意,不可有循环引用。例如: 模块1中 :
Public const con1=con2+8 ?? 模块2中 :
Public Const con2= con1*3?? 数组
四、运算符 1、种类
⑴.赋值运算符:Visual Basic中的赋值运算符是“=”。 ⑵ . 数学运算符: 优先级 运算符 说 明 高 ^ 指数运算,如2^3=8 - 负号运算符
* / 乘除运算,其中除法(/)的所得结果为实数 \\ 整除。所得结果为实际结果的整数部分 Mod 取模运算符,两数相除取余数 + - 加、减运算 低 & 连接字符串。
⑶. 关系运算符:
=(等于);<>或><(不等);<(小于);>(大于);<=(小于等于);>=(大于等于);like(比较样式);Is(比较对象变量) ⑷.逻辑运算符:
逻辑运算用于判断操作数之间的逻辑关系。VB提供了非(Not)、与(And)、或 (Or)、异或(Xor)、相等(Eqv)和隐含(Imp)逻辑运算。逻辑运算符的优先级低于数学运算符和关系运算符。逻辑运算符本身也有优先级,其顺序为Not,And,Or,Xor, Eqv,Imp。 2.优先级
即:各种运算符在表达式中的运算顺序。 1)函数运算; 2)算术运算;
3)关系运算;(优先级:=,<,>,<>,<=,>=) 4)逻辑运算;
注:乘除法同时出现时,遵循从左到右顺序;括号的运算总是优先;字符串连接(&)不是算术
运算符,但其优先顺序在所以算术运算符之后,又优先于其他运算符 五、常用标准函数
1、CurDir函数——返回一个用来代表当前路径的字符串变量; 格式:CurDir[(drive)] 方括号为可选项,默认为当前驱动器的路径。
2、CVErr函数——返回一个包含指定错误号的变体型 格式:CVErr(errornumber)
3、Date函数——返回一个包含系统日期的Variant型或者date 格式:Date
4、Day函数——返回表示一个月中某一天的整型数 格式:Day(date)
5、Timer函数?a?a返回一个从当日午夜零点到当前时刻所经历的秒数(单精度数) 6、IIf函数
VB提供了一种用来执行简单条件判断的函数IIf,它是“If??Then??Else”结构的简单版本,格式如下:
Result = IIf(条件,为“True”的执行语句,为“False”的执行语句)
这里的Result是函数的返回值,括号中的三项均不能省略,执行的操作为首先判断条件,当“条件”为真的时候,执行“为“True”的执行语句”,否则执行“为“False”的执行语句” 。 7、Function 函数
函数实际是实现一种映射,它通过一定的映射规则,完成运算并返回结果。函数的定义方式与Sub过程的定义很相似,可以说只不过是用Function关键字取代Sub,同时加入返回值类型说明。 格式:
[Static][Private][Public]Function 过程名 [(参数列表)][As类型] 语句块
[过程名=表达式] [Exit Function] [语句块] End Function
注意:Function过程与Sub过程的最大区别在于Sub过程无返回值,而Function过程有至少一个返回值;过程不能嵌套,因此,不能在事件过程中定义通用过程(包括Sub过程和Function过程),只能在事件过程内调用通用过程。 六、语句
1、条件分支结构 (1) If?语句 它有三种格式:
第一种是单分支格式: If 条件 Then [语句]
End If // 其中加 “[ ]”部分为可选择部分。 第二种是双分支格式: If 条件 Then [语句块1] [Else 语句块2] End If
这里是双分支,即如果条件满足,执行语句块1,否则,执行语句块2。 注意:语句块中的语句不能与其前面的Then在同一行上! 第三种格式: If 条件1 Then [语句块1]
[Else If 条件2 Then
相关推荐: