VB6.0
1.程序设计基础
1.1 赋值语句 =
对象属性或变量 = 表达式
含义:将等号右边表达式的值传递给等号左边的变量或者对象属性
1.2 程序的书写规则
1.2.1 注释
格式1:,注释文字
格式2: rem 注释文字
说明:注释可以和语句在同一行并写在语句的后面,也可占据一整行。
1.2.2 断行
断行:将长语句分成多行
格式:续行符(&)“_”(一个空格紧跟一条下划线)
注意:
(1)在同一行内,续行符后面不能加注释
(2)续行符不应将变量名和属性分隔在两行
(3)原则上,续行符应加在运算符的前后
1.2.3 将多行语句写在一行上
一行中写多条语句,可用“:”作为分隔符。
1.3 变量
变量是指程序运行中其值可以变化的量。
1.3.1 变量的命名规则
在VB中命名一个变量要遵循以下规则,否则系统不能正确的辨识。
- 必须是以字符、汉子开头的字母、汉子、数字、下划线组成的字符串,不能在变量名中出现句点“。”、空格或者嵌入下列字符:!、#、@、¥、%、&。
- 变量名最长为255个字符
- 大小写字母同等对待,不能使用系统保留字
- 在同一个范围内变量名必须是唯一的。
1.3.2 变量的声明
变量的声明分为显示和隐式声明两种情况。
- 隐式声明:即不声明而直接使用,变量以 Variant 类型处理。
- 显示声明:(情况一)是在程序开头加入 option explicit 强制显示声明语句;(情况二)是不强制显示声明语句,对变量声明。
格式:Dim 变量名 [as 类型]
其中:[As 类型]表示可缺省,类型为数据类型
1.3.3 变量的数据类型
VB提供了6类12种标准数据类型,还可以由用户自定义数据类型。
1.4 常数
常数是在程序运行中其值不变的量
VB 中包含三种常量:文字常量、符号常量、系统常量。
- 文字常量:包含数值常量、字符串常量、逻辑型常量和日期型常量。
- 符号常量:用一个符号(一个字母组合)来代替长长的数字常量。
格式声明:const 字符常量名 [AS 类型] = 表达式
其中:表达式:可以是数值常数、字符常数、时间日期以及运算符组成的表达式。
注意:表达式终不能调用函数,即其中不能有函数元素;可以用先前定义过得符号常数定义新常数。 - 系统常量:是由VB提供的并能够识别的、具有专用名称和作用的常数
1.5 表达式与运算符
表达式是指由变量、常量、函数与运算符按一定的规则组成的一个字符序列。
VB6.0中用到的4种运算:算术运算、比较运算、连接运算和逻辑运算。
1.5.1 算术运算
算术运算就是加减乘除及指数(^)等数学运算。
1.5.2 比较运算
比较运算(关系运算)就是比较运算,结果为真、假和null。
1.5.3 连接运算
连接运算就是将两个表达式连接在一起。
运算符有:
&:用来强制两个表达式作字符串连接。
+:如果两个表达式都为字符串,则将两个字符串连接;若一个为字符串,而另一个为数字则进行相加运算。
1.5.4 逻辑原酸(布尔运算)
1.6 流程控制语句
控制程序执行的基本结构有三种:顺序结构、选择结构、循环结构
1.6.1 算法的表示
算法:即对一个问题的解决方法和步骤。
任何一个问题能否用计算机解决,一个关键的步骤就是看能否设计出它的算法,有了合适的算法,在使用合适的计算机语言,就能方便地编写出程序来。
算法的特点:
- 有穷性:一个算法必须在执行有穷个计算步骤后终止;
- 确定性:一个算法给出的每个计算步骤,必须都是精确定义的、无二义性的;
- 能行性:算法所要执行的每一个计算步骤,都是可以在有限时间内做完的;
- 输入:一个算法一般要求有一个或多个输入信息,这些输入信息是算法所需的初始数据。
- 输出:一个算法一般要求有一个或多个输出信息,这些信息一般就是对输入信息计算的结果。
算法的表示
表示算法的形式很多,如传统流程图、自然语言、N-S结果化流程图等等。
1.6.2 顺序结构
顺序结构是一种最简单、最基本的程序控制结构,任何程序必须要包含顺序结构。它的特点是在这个结构内个语句块是按照它们出现的顺序从上到下依次执行的。
1.6.3 选择结构
条件判定语句在程序运行中起的是水龙头的作用,只有满足条件的,才会执行某些语句,否则程序将按照另一个流程执行。
VB支持的条件判定结构有3种,它们是
- if ... then
- if ... then ... else
- select case
if ... then 结构
1、 只选择执行一条语句
if 条件 then 语句块1 [else 语句块2]
注:这条语句必须在一行中写完。
2、 需要执行多条语句:
if 条件 then
语句块
end if
if ... then ... else 结构
使用if ... then ...else结构可以从几个程序流程分支中选择一个执行。
if 条件1 then
语句块1
[elseif 条件2 then
语句块2]
[elseif 条件3 then
语句块3]
......
[else
语句块n]
end if
除此之外,条件还可以是下面的形式:
Type of 控制变量 Is 对象类型
它测试某个控制变量是否为某种对象类型,如果是,则条件满足,返回 true;否则条件不满足,返回false。
select case结构
用来实现多分支选择。对于多种选择来说,效率比条件语句更高,更容易维护和阅读。
select case 测试变量(或测试表达式)
case 表达式列表1
语句块1
[case 表达式列表2
语句块2]
......
[case else
语句块n]
end select
其中:
- 测试变量:称为case变量,它可以是一个变量、表达式或常量,可以是数值型或字符串型。
- 表达式列表:可以是下面三种形式之一:
表达式
表达式 to 表达式
is 比较运算符表达式
to、is是关键字,后两种形式可用来设定值得范围
case 子句中允许出现多个表达式
例:case 1 to5, 12,Is>Min(表示测试变量的值在1到5范围内,或者12,或者大于Min,均匹配。)
case 子句中的表达式列表允许是字符串
例:case “Xie”,“Li” to “Wang”,name$(表示只要测试变量的值与Xie 匹配或落在“Li” to “Wang”之间或与name$的值匹配,均认为匹配成功。)
- 表达式列表的数据类型应与测试变量值得类型一致,否则将强制转换为测试变量值的数据类型。
1.6.4 循环结构
计算机可以为我们重复的的做某一工作成千上万,这就是循环控制的功能。
VB支持的循环结构有:
- do ... loop
- for ... next
- while ... wend
do ... loop
用do循环重复执行一语句块,且重复次数不定。
do ... loop 语句有4种形式:
do while 循环条件
语句序列
loop
do
语句序列
loop while 循环条件
do until 循环条件
语句序列
loop
do
语句序列
loop until 循环条件
注意:循环体内必须存在这样一条语句来影响测试条件,时的测试条件的逻辑发生变化,否则这个循环就变成了死循环。
while ... wend 结构
功能与do while ... loop 结构类似
格式:
while 测试条件
语句块
wend
注意:循环体内必须存在这样一条语句来影响测试条件,使得测试条件的逻辑值发生变化,否则这个循环就变成了死循环。
从循环中退出
有时在程序中利用循环查找某个数据,当数据找到后,不需要等到循环结束就可以跳出循环以节省时间。使用 exit 语句可以直接退出 for循环,do循环。
1.7 创建自己的数据类型
有时希望将不同类型的数据组合成一个有机整体,就像在 excel、数据库中讲述的表单的“记录”——是由不同类型、互有联系的数据项组成,便于整体的处理这类数据。
在VB中,除了前面介绍的标准数据类型外,还允许用户自己定义数据类型,它由若干个标准数据类型组成。自定义数据类型必须遵循先定义后使用的原则,自定义类型通过 type 语句来实现。
格式:
type 自定义类型名
元素名1 As 类型
元素名2 As 类型
·
·
元素名n As 类型
end type
说明:
- 元素名:表示自定义类型中的一个成员。
- 类型:标准类型
- 自定义类型名:用户为新定义的数据类型所起的名称。
一旦定义自定义类型的数据类型之后,就可以像标准数据类型一样引用使用。
注意:
- 自定义类型必须在标准模块(.BAS)中定义,默认的是全局变量Public。
- 自定义类型中的元素类型可以有字符串,但必须是定长字符串。
1.8 枚举
枚举,也称为枚举类型,也可以说是一种自定义类型,所谓枚举类型是通过声明将一系列相关的名称与常数数组相关联,这样在使用中可以使用名称而不使用具体的数值,便于辨识。
1.8.1 枚举的声明
[public|private] Enum 名称
成员名称[=常数表达式]
成员名称[=常量表达式]
……
end Enum
注意:
- VB的枚举类型中常量数值通常被转换成长整数。
- 常数表达式并非必须,若省略的话默认枚举中的第一个常数为0,以后依次为1,2,……。
- Enum 语句只能在某块(.bas)级别中出现。
1.8.2 枚举类型的使用
引用单个常数
当引用单个常数是,为了避免模糊引用,一般应在成员名称前指出枚举名。
声明枚举变量
声明枚举类型后,就可以定义枚举类型的变量,当然也就可以使用该变量储存的枚举1常数的数值。
1.9 数组
数组是使用一个名字的一组相同类型变量,数组中的每个元素都拥有唯一的索引号来标识自身。在VB中有两种类型的数值:固定大小的数组(静态数组:它总是保持同样的大小),以及在运行时大小可以变化的动态数组。
1.9.1 一维数组
- 声明格式:
{dim|public|static} 数组(小标) [As 类型][,数组名(下标)[As 类型]]……
其中:
- 数组名:应是合法的变量名,可以同时声明多个数组,个数组之间用逗号分隔。
- 下标必须是常数,不允许是表达式或变量。
- 下边的形式为[下界 to] 上届,下界必须小于上届。下界可以省略,省略是系统默认值为0。
- 当As类型确实或数据类型为 variant 时,都是变体类型。
- 引用格式
数组名(下标)
注意:在数组声明语句中出现的数组名及下标表示与在程序中出现的数组名及下标表示是不同的。
1.9.2 多维数组
声明格式:
dim 数组名(下标1[,下标2]...) [As 类型]
1.9.3 动态数组
在程序设计时,数组到底应该多大才合适?声明的数组太大,浪费内存空间;而太小又不够使用,有时候确实令人难以预料。在VB中引入了动态数组,这样程序在运行时就具有了改变数组大小的能力。
动态数组在声明数组时不给出数组的大小(省略括号中的小标,如:dim iSS%()),当要使用它的时候,再随时用 redim 语句重新指出数组的大小。
格式:
reDim [preserve] 数组名(下标1[,下标2]...)
1.9.4 数组的基本操作
数组在声明时是一个整体,在使用时必须以数组元素为单位进行,通常用循环遍历每个元素,逐一处理。
- 数组元素的输入
数组元素的输入可以通过各种途径来完成,当数组比较小时,可以用赋值语句来完成;一般可通过循环语句或 VB 提供的输入函数来完成。
通过循环语句对数组进行输入,有两种情况:一是通过循环赋值固定的数字,如初始化,对数组的所有元素进行清零;另一种是与 VB 的输入函数结合起来,有用户从窗户键入。
对于大量数据的输入,为了便于编辑,一般不用 InputBox 函数,而是通过在文本框上加某些技术处理来实现。
- 数组的输出
数组的输出有多种方法,这里主要学习通过 调用 print 方法的实现。方法是面向对象的,能够使用 print 方法的对象有窗体、图形框和打印机。
2.常见命令
2.1 call
call 调用一个过程、函数或动态链接库(DLL)过程
语法:
[call] name [srgumentlist]
说明:
- 如果被调用的部分需要参数,则argumentlist 必需加上括号;
- argumentlist 是可选参数,可以是传递过程的变量、数组或表达式的列表,各参数间用逗号隔开。argumentlist 的每个参数都可以加上关键字 ByVal 或ByRef 来描述被调用的过程将如何处理该参数。
2.2 函数
trim()是去掉开头和结尾的空格
mid():是vb和excel中的一个字符串函数,作用是从一个字符串中截取出指定数量的字符
语法
Mid(String as variant,start ar long,[length as variant])
其中:
- 返回 string 中从开始的后面的 length 长度的字符串
- string 是必需的参数,如果string 包含 null,返回结果也将是 null;
- 当 start 参数值大于 string(text)参数长度是,返回一个空字符串;
- 若从 star t参数截取长度超过字符串末尾,或 length 参数被省略,则返回 start 参数位置到字符串结尾的所有字符。
2.2 组件
adodb.RecordSet 的属性和方法
为了更精确地跟踪数据,要用 recordset 组件创建包含数据的游标,游标就是存储在内存中的数据。
使用ado 连接数据库进行查询的时候,数据库将查询结果返回查询端,在查询端的内存里面就会有一个列表,这个列表存放的就是查询的结果。这个内存中的列表就是数据集。