搜索
您的当前位置:首页正文

VB6教程

来源:榕意旅游网
VB6 程序设计

VB6 程序设计

第一章 Visual Basic 6.0 概述

实例 01(见程序 EX01) : 窗体中有三个按钮:显示文字,清屏,结束;有一个文本框:用于显示文字: \"Hello,Visual Basic!;窗体标题栏显示\"VB,你好!. \" \" 在实验中修改文本框的对齐方式, 显示文字的颜色; 分别在设计时和运行对 文本框字号属性进行修改.

1.1 VB 简介 1.1.1 VB 特点

面向对象的可视化 面向对象 可视化的程序设计方法 可视化 事件驱动的程序设计机制 事件驱动 简单易学,功能丰富的程序设计语言 交互式的集成开发环境 支持动态数据交换,动态链接库和对象的链接和嵌入技术

1.1.2 VB 版本简介

1991 年:VB1.0 目前,VB 的最新版本是 VB6.0,并有 VB6.0 中文版. VB6.0 有学习版,专业版和企业版三种不同的发行版本.

1.2 VB6 的安装和新特点

1.2.1 VB6 运行环境

Windows95 或以上 Pentium 或更高的处理器 CD-ROM 16MB 或以上内存 128MB 或以上硬盘空间 1 第一章

Visual Basic6.0 概述

1.2.2 VB6 安装简介 1.2.3 VB6 新特点

增强了数据访问功能:ADO(ActiveX Data Object) 更强大的 Internet 应用开发功能 新增和加强了一些控件 添加和增强了些向导

1.3 VB6 的集成开发环境

VB6 提供给用户的使用界面是一个集成开发环境,它在一个公共的环境中 集成了设计,编辑,编译和调试等功能.

1.3.1 启动集成开发环境 1.3.2 集成开发环境的组成

在 VB6 的集成开发环境中,通常显示有标题栏,控制菜单图标,窗口操作 按钮,菜单栏,工具栏,窗体设计器,工程管理器,属性窗口,工具箱和窗体布 局窗口.此外,还可以根据需要打开代码窗口,调色板,对象浏览器,菜单编辑 器和三个用于程序调试的窗口:立即窗口,本地窗口和监视窗口.

1.3.3 集成开发环境的菜单 1.3.4 集成开发环境的选项设置

1.4 使用 VB 的帮助系统 联机帮助 上下文相关帮助 2

VB6 程序设计

第二章 VB6 编程初步

2.1 VB 编程的基本概念

2.1.1 Windows 的工作机制

Windows 系统的工作机制可用三个词来概括:窗口,事件和消息. Windows 系统的工作界面是由各种窗口组成的,所谓窗口是指屏幕上的一 个矩形区域.事实上,对话框,文本框,图标,命令按钮和打开的菜单等,都可 看作窗口.Windows 系统给每一个窗口指定一个唯一的标识号,即窗口句柄,并 通过窗口句柄来管理所有窗口. Windows 系统中的事件可简单地理解成一种操作活动.它可以是由鼠标和 键盘的操作产生,也可以由系统内部产生,甚至是由某个程序运行或窗口操作产 生.Windows 系统不断地监视着系统中每一个窗口的活动和每一个事件的发生. 所谓消息是指事件的信号.每发生一件事件,就引发一条消息.Windows 系统处理这条消息,并把它向系统中程序的各个窗口广播.各个窗口根据其程序 中处理该消息的代码指令作出响应.

2.1.2 Windows 应用程序的事件驱动运行模式

Windows 应用程序的运行是事件(可以是用户通过鼠标和键盘操作产生, 也可以是系统内部通过时钟计时产生, 甚至也可以是由程序运行或窗口操作触发 产生)驱动模式,是通过执行响应不同事件的程序代码进行运行的.因此,在使 用 VB 提供的事件驱动的程序设计机制编写 Windows 应用程序时,是对程序中 的对象需要响应的事件分别编写出程序代码.

2.1.3 创建 VB 应用程序的步骤

建立工程 设计应用程序的界面 设置界面对象的属性 编写程序代码 保存程序 执行并调试程序 生成可执行程序文件

2.2 创建一个简单的 VB 应用程序 创建一个简单的

该应用程序运行时将显示一个窗口,其中有\"切换\"和\"退出\"两个按钮: 3

第二章

VB6 编程初步

单击\"切换\"按钮,窗口的一个文本框中将交替显示红色的\"VB 编程不难学\" 和蓝色的\"只要认真下功夫\"文字;单击\"退出\"按钮,将清除窗口并退出程序.

4

VB6 程序设计

第三章 VB6 的工程管理

工程是在 VB 中进行 Windows 应用程序设计的一个重要概念.所谓工程就 是组成一个应用程序的文件的集合.使用 VB 创建一个应用程序时,首先必须为 它建立一个工程,在应用程序设计过程中,通过工程来管理应用程序所包含的所 有文件.

3.1 VB 的工程

在 VB 中可建立多种类型的工程,这里主要介绍标准 EXE 类型工程的建造 和管理.

3.1.1 工程

工程是组成一个应用程序的文件的集合, 一个工程通常包括以下几种类型的 文件: 工程文件(.vbp) 窗体文件(.frm) 窗体二进制数据文件(.frx) 类模块文件(.cls) 标准模块文件(.bas) ActiveX 控件文件(.ocx) 资源文件(.res)

3.1.2 工程管理器

工程的操作管理主要是在工程管理器中进行. 工程管理器窗口中显示当前工 程所包含的文件列表.

3.2 工程的基本操作

工程的基本操作主要包括创建,打开和保存工程,在工程中添加,删除和保 存文件,以及在工程中添加控件和对象等. 创建,打开和保存工程 在工程中添加,删除和保存文件 在工程中添加和删除控件部件,对象和资源文件 5

第三章

VB6 的工程管理

3.3 工程的属性设置

通用属性设置 通用属性设置 工程类型 启动对象 工程名称 帮助文件名 工程帮助上下文标识符 工程描述 ActiveX 控件升级 生成的可执行文件属性设置 生成的可执行文件属性设置 版本号 编译属性设置 编译属性设置 6

VB6 程序设计

第四章 VB6 编程基础

VB 应用程序的结构,代码窗口的使用,VB 代码的书写规则,数据类型, 变量,常量,数组,过程和结构控制语句等.

4.1 VB 代码编写基础

4.1.1 VB 应用程序的结构

一个 VB 应用程序通常是由多种类型的文件组成的, 其中最常见的是窗体模 块,标准模块和类模块.这些模块都可以包含声明和过程. 1,窗体模块 , 在窗体模块中包含窗体及其控件的属性设置值, 同时还包含在该窗体的代码 窗口中编写的对常量, 变量, 类型和外部过程的声明以及 Sub, Function 和 Property 过程. 2,标准模块 , 标准模块存放与特定窗口或控件无关的代码, 通常是其他模块共同使用的声 明和过程的代码. 3,类模块 , 类模块用来定义类,并可用它创建被应用程序中的过程所调用的对象.

4.1.2 代码编辑窗口

VB 的代码编辑器具有一定智能,可同步显示相应的语法成份结构的提示, 能自动填充语句,属性和参数,使代码编写更加方便.

4.1.3 代码的书写规则

VB 程序代码不区分大小写. VB 程序代码的主要的书写规则: 可用续行符\" _\" (一个空格后跟一个下划线)将一个长语句分成多行 书写 当一行中有多条语句时,语句间用冒号\": \"分隔 注释以注释符\"'\" (单引号)引导,可放在一行语句的最后,或单独占 据一行,但不能放在续行符的后面;注释也可以用关键字\"Rem\"引导, 但它必须占据一行 VB 中缺省数制是十进制数,也可以使用加前缀\"&H\"和\"&0\"分别 7

第四章

VB6 编程基础

表示的十六进制和八进制数 标识符是为程序代码中的变量,常量,类型,过程,函数,类和其他对 象的命名.VB 中标识符的命名有如下规则: (1)标识符必须是字母开头,后跟字母,数字或下划线 (2)标识符长度不能超过 255 个字符,其中窗体,控件,类和模块的 标识符长度不能超过 40 个字符 (3)不能与 VB 中受到限制的关键字同名

4.2 数据类型

一个变量的数据类型指出该变量能存储何种类型的数据.VB 提供了许多基 本数据类型,用户也可以根据需要自定义数据类型.

4.2.1 基本数据类型

VB 的基本数据类型见 P46 表 4.2.1,注意它们的类型名,类型符,占用字节 数和表示范围. 例: Dim YesorNo As Boolean Dim A As Byte,B As Byte Dim I As Integer Dim L As Long Dim A As Single Dim P As Currency Dim X As Double,Y As Double Private S As String Dim Name As String*20 Dim D As Date Dim V Dim a%,b&,c!,d# 'a 为整型, 为长整型, 为单精度型, b c d 为双精度型,@为货币型,$为字符串型 YesorNo=1>2 A=&H0F:B=&H01 A=A+B X=1.88E18:Y=2.01D16 X=X*Y S=\"Database\" S=Left(S,4) D=#4/6/1999 8:30:50PM# V=\"17\" V=V-15 V=\"U\"&V 除了可以像其它标准类型一样操作外, Variants 类型变量还包含四个特殊值: Empty,Nothing,Null 和 Error.

8

VB6 程序设计

4.2.2 用户自定义数据类型

格式: [Private|Public] Type varname elementname as type … End Type 例: Private Type StuRecord Name As String*30 Birthday As Date Other As Variant End As Variant Dim Record1 As StuRecord,Record2 As StuRecord Record1.Name=\"Abc\"

4.2.3 枚举类型

在模块的声明段用 Enum 语句来声明枚举类型,例如: Private Enum ElementSet Sun Mon Tue End Enum

4.3 变量与常量

在应用程序执行期间, 变量用来存储可能变化的数值, 常量表示固定不变的 数值. 通常, 在使用变量和常量前必须事先声明, 并且它们有着自己的有效范围.

4.3.1 变量

变量有名字, 它是用来引用变量所包含的数据的标识符; 变量具有数据类型, 以确定变量能够存储的数据种类. 变量的命名应遵循标识符命名的规则 一般应用变量声明语句声明变量(显式声明,隐式声明,有效范围)

4.3.2 常量

VB 中有两种常量, 一种是系统预定义的常量, 还有一种是用户定义的常量. 用户定义常量的命名 用 户 定 义 常 量 的 声 明 [Public|Private] Const constantname [As type]=expression 9

第四章

VB6 编程基础

用户定义常量的有效范围

4.4 数组

数组是指具有相同的数据类型的有序数据的集合, 即一个数组中的所有元素 具有相同的数据类型. 当声明了 Variant 类型的数组时,其元素能够包含不同类型的数据.

4.4.1 大小固定的数组

1,数组的命名 , 2,数组的声明 , 根据声明的数组的有效范围不同,有三种方法声明大小固定的数组. 过程级数组,在该过程中用 Dim 语句声明,例:Dim Number(10) As Integer 或 Dim K(1 To 5)或 Static State(10) As Boolean 模块级数组, 在模块的声明段中用 Private 或 Dim 语句声明, 例: Private A(10) As Integer 或 Dim Address(1 To 50) As String*30 全局级数组, 在模块的声明段中用 Public 语句声明, Public Price(10) 例: As Double 或 Public Name(1 To 50) As

String*20 3,数组的引用 , Dim n As Integer Dim Number(10) As Integer For n=0 To 10 Number(2)=2 Next n 4,多维数组 , 例: Dim I As Integer,J As Integer Static MatrixA(1 To 10,1 To 10) As Double For I=1 To 10 For J=1 To 10 MatrixA(I,J)=I*10+J Next J Next I 10

VB6 程序设计

4.4.2 动态数组

1,动态数组的声明 , 过程级动态数组:Dim dynArray()或 Dim dynList() As Single 模块级动态数组:Private dynA() As Integer 或 Dim dynArray() 全局级动态数组:Public dynArray() As Double 或 Public dynList() 2,动态数组的定义 , 动态数组声明后并不能立即使用,还必须在使用它的过程中,用 ReDim 语 句对它的维数和上下界进行定义. 例: ReDim dynArray(1 To 10) ReDim dynArray(2,1 To N) 注意: ReDim 语句通常是一个执行语句,只能在过程中使用 可使用 ReDim 语句反复改变动态数组的维数和上下界,但一般不能修 改它的数据类型

4.5 运算符和表达式

4.5.1 运算符

运算符是表示实现某种运算功能的符号. 按运算的操作对象和操作结果的不 同数据类型,VB 中的运算符有自述运算符,连接运算符,比较运算符,逻辑运 算符和位运算符等多种类型. 1,算术运算符 , 算术运算符用来进行数学计算. P58 表 4.5.1 按优先级别从高到低的顺序列出了 VB 中的算术运算符. 例: V=2^3^2 'V 的值为 64,Double 类型 V=-(3.14+12)*5.2/3 V=13.14\\5.8 'V 的值为 13 除以 5 的商 2,Long 类型 V=15.14 Mod 3.8 'V 的值为 15 除以 4 的余数 3,Long 类型 2,连接运算符 , 连接运算符用来连接两个字符串. 11

第四章

VB6 编程基础

3,比较运算符 , 比较运算符,亦称关系运算符,被用作两个表达式之间的比较操作,结果是 一个布尔类型的量. P59 表 4.5.3 列出了 VB 中的比较运算符. 4,逻辑运算符 , 逻辑运算符用作逻辑类型表达式之间的逻辑操作, 结果一般是一个布尔类型 的量. P60 表 4.5.4 列出了逻辑运算符及它们运算的结果. 5,位运算符 , 位运算符用于实现对操作数的二进制位操作.VB 使用逻辑运算符作为位运 算符,分别被称为按位取反(NOT) ,按位与(AND) ,按位或(OR) ,按位异或 ,按位相等(EQV)和按位蕴含(IMP) . (XOR)

4.5.2 表达式

VB 中的表达式是由常量,变量,运算符,函数和圆括号组成的有意义的式 子. 根据表达式结果的数据类型, 可把表达式分为数值表达式, 字符表达式和逻 辑表达式等. 在书写 VB 中的表达式时应注意以下几点: 优先顺序从高到低排列为:函数-算术运算-比较运算符-逻辑运算符 使用圆括号可明显地反映运算顺序或改变原定的优先顺序 如有必要,应使用类型转换

函数对表达式中操作数的数据类型进行转 换,而尽可能不用 VB 的数据类型自动转换功能,以免不必要的错误

4.6 过程

过程是构成程序的逻辑模块, 一般能完成一个相对独立的功能. 利用过程能 使程序结构模块化,以便于程序的开发,调试和维护;同时,利用过程还能实现 多个程序对它的共享,可降低程序设计的工作量,提高软件开发的工作效率. 在 VB 中有 3 种过程:Sub 过程,Function 过程和 Property 过程.

4.6.1 Sub 过程

Sub 过程,亦称为子过程,是实现某一特定功能的代码段.它或者由程序调 用,或者由事件触发,没有返回值. Sub 过程的语法是: [Private|Public][Static] Sub Procedurename(arguments) '过程头 statements '过程体 End Sub '过程尾 12

VB6 程序设计

子过程可出现在窗体模块,标准模块和类模块中.在 VB 中子过程被分为通 用过程和事件过程两类. 通用过程出现在模块的通用段中,它必须在程序中通过语句来调用. 例(见程序 EX2) . 事件过程主要出现在窗体模块的窗体段和各控件段中, 也可以出现在类模块 的类段中.事件过程是由对象的事件所触发调用的. 事件过程的过程名.

4.6.2 Function 过程

Function 过程,亦称为函数过程,它是实现某一数据处理功能并返回处理结 果的代码段. Function 过程的语法: [Private|Public] [Static] Function functionname(arguments) [As type] statements End Function 例: Private Function Hypotenuse(A As Integer,B As Integer) As Double Hypotenuse=Sqr(A^2+B^2) End Function 调用 Function 过程的方法和数学中使用函数的方法一样,即在表达式中可 以通过使用函数名,并在其后用圆括号给出相应的参数列表来调用一个 Function 过程.也能像调用 Sub 过程那样调用函数. 例: Y=Hypotenuse(3,4) Call Year(Now) Year Now 当用这种方法调用函数时,VB 放弃该函数的返回值.

4.6.3 VB 过程的参数传递

1.参数的按值传递和按地址传递 在过程定义中,按值传递的形式参数前要带有关键字 ByVal.例如,下列过 程中的参数 x 和 y 都是被声明为调用时按值传递的参数. Private Sub Change1(ByVal x As Integer,ByVal y As Integer) Dim intTemp As Integer intTemp=x:x=y:y=intTemp End Sub 要在过程定义中声明按地址传递(缺省方式)的形式参数,应加上关键字 ByRef,例如: Private Sub Change2(ByRef m As Integer,ByRef n As Integer) Dim intTemp As Integer IntTemp=m:m=n:n=intTemp End Sub 13

第四章

VB6 编程基础

例:见 2#0403 2.数组参数的传递 VB 的过程中允许以数组作为参数.在使用时应注意: 数组参数只能按地址传递,而不能按值传递. 在形式参数表和实在参数表中,数组参数要忽略维数声明. 例:编写求一维数组中所有元素之和的程序. 程序如下: Private Sub Form_Click() Dim a(1 To 5) As Integer, k As Integer For k = 1 To 5 a(k) = k + 1 Next k Print \"Sum=\"; ArrSum(a()) End Sub Private Function ArrSum(x() As Integer) As Integer Dim i As Integer, t As Integer t=0 For i = LBound(x, 1) To UBound(x, 1) t = t + x(i) Next i ArrSum = t End Function 这里, 系统内部函数 LBound 和 UBound 分别求数组指定维数的下界和上界, 其中维数可缺省(指一维数组的唯一的一维) . 在 VB 过程的参数表中,可使用关键字 Optional 建立可选参数,也可使用关 键字 ParamArray 声明不定数量的参数.

4.6.4 过程的递归

VB 中的过程可以是递归的,也就是说,过程可以调用自己来完成某个特定 的任务. 例如,计算阶乘的函数;求两个数的最大公约数等. 注意:构成递归要有两个条件,一是要有确定的递归结束条件和结束值,二 是具有能驱向递归结束条件的递归形式表示.

4.6.5 系统内部函数

VB 提供了丰富的系统内部涵数,可在程序代码中直接调用.这些函数按处 理功能可分为数学函数,字符串函数,日期函数,类型转换函数,格式输出函数 和交互函数等. 注意:函数 int()与函数 fix()的区别) (注意 注意: 格式输出函数 Format 可使数值,日期或字符串按指定的格式输出,通常用 Print 方法中. 交互函数 MsgBox 和 InputBox 可分别打开一个消息对话框和输入对话框, 格式: 14

VB6 程序设计

MsgBox(prompt[,buttons][,title]) InputBox(prompt[,title][,default]) 例: intAB=MsgBox(\"是否继续?\消息框\") strAB=InputBox(\"请输入姓名\输入框\")

4.6.6 常用方法

从本质上说,方法就是一种过程,是面向对象的过程. 常见的方法有:Cls,Print,Move 等.

4.7 VB 基本语句

4.7.1 赋值语句

赋值语句的语法: [Let] varname=expression

4.7.2 选择语句

选择语句,也称条件分支语句. 1.If 语句 格式: (1) If 条件 Then 语句 (2) If 条件 Then 语句 End If (3) If 条件 Then 语句 1 Else 语句 2 (4) If 条件 Then 语句 1 Else 语句 2 End If 2.Select Case 语句 Select Case 语句,亦称情况语句,语法如下: Select Case 测试表达式 Case 表达式列表 1 语句组 1 Case 表达式列表 2 语句组 2 …… [Case Else 15

第四章

VB6 编程基础

语句组] End Select

4.7.3 循环语句

1.For…Next 语句 亦称计数循环,语法如下: For 循环变量=初值 To 终值 [步长] 语句组 Next [循环变量] 例 1:编写程序,使其能在窗体显示输入的 6 个整数和其中的最大数. 例 2:在窗体中,单击\"判别\"按钮,出现一个输入框,在输入框中输入一 个整数后, 在窗体文本框中即显示该整数是否为素数的字样; 单击 \"退出\" 按钮, 可退出程序. 例 3:用筛选法找出 2 到 100 之间的素数,并按一定的格式在窗体上显示出 来. 程序代码: Private Sub Form_Click() Dim a(2 To 100) As Boolean, n As Integer, m As Integer For n = 2 To 100 a(n) = True Next For n = 2 To 100 If a(n) Then For m = n + 1 To 100 If m Mod n = 0 Then a(m) = False Next m End If Next n m=0 For n = 2 To 100 If a(n) Then Print Tab(m * 8); n;: m = m + 1 If m = 5 Then Print: m = 0 Next n End Sub 例 4:设计一个程序,启动后即能产生并显示 10 个随机二位正整数,单击 窗体可将这 10 个数按从小到大的顺序显示. 程序代码: Const N = 10 Dim a(1 To N) As Integer Private Sub Form_Activate() Dim m As Integer, k As Integer k=0 For m = 1 To N 16

VB6 程序设计

a(m) = 10 + Int(Rnd * 90) Print a(m); \" \";: k = k + 1 If k = 5 Then Print: k = 0 Next m Print End Sub Private Sub Form_Click() Dim m As Integer, k As Integer, T As Integer For m = 1 To N - 1 For k = 1 To N - m If a(k) > a(k + 1) Then T = a(k): a(k) = a(k + 1): a(k + 1) = T End If Next Next k=0 For m = 1 To N Print a(m); \" \";: k = k + 1 If k = 5 Then Print: k = 0 Next m Print End Sub 2.For Each…Next 语句 亦称遍历循环 3.Do…Loop 语句 有当型循环(While)和直到型循环(Until)两种 当型循环 Do While 循环条件 语句组 Loop 或 Do 语句组 Loop While 循环条件 直到型循环 Do Until 条件 语句组 Loop 或 Do 语句组 Loop Until 条件 注意: 17 第四章

VB6 编程基础

Do…Loop 语句可以嵌套使用. 如果 Exit Do 使用在嵌套的 Do…Loop 语 句中,则 Exit Do 会将控制权转移到外层循环. 在循环体中,或者有退出循环的 Exit Do 语句,或者有使循环向结束转 化的语句,防止陷入\"死循环\" . 4.While…Wend 语句 语句如下: While 条件 语句组 Wend 例 5:已知自然对数的底数 e 的级数表示如下: 1 1 1 1 e = 1 + + + + ...... + + ...... 1! 2! 3! n! 利用上述公式求 e,其中绝对值小于 1E-8 的项被忽略. 程序代码: Private Function fac(n As Integer) As Single If n = 0 Then fac = 1 Else fac = n * fac(n - 1) End If End Function

Private Sub Form_Click() Dim e As Single, term As Single Dim m As Integer e = 1: m = 1 term = 1 / fac(m) Do While Abs(term) >= 0.00000001 e = e + term m=m+1 term = 1 / fac(m) Loop Print \"e=\"; Format(e, \"#.######\") End Sub

4.7.4 其他控制语句

1.Go To 语句 例: Go To Line1 …… Line1: …… 注意: 18

VB6 程序设计

本过程内无条件转移 尽可能少用此语句 2.End 语句 例:End,End Sub,End If,End With 等 3.Exit 语句 Exit Do,Exit For,Exit Sub,Exit Function 等. 19 第五章

窗体和标准控件

第五章 窗体和标准控件

5.1 VB 的对象

5.1.1 对象的概念

对象是数据和代码的集合,可以看成一个编程的单元. VB 中的常用对象多为\"可视\"的,其中工具箱中控件都是对象.

5.1.2 对象的属性

属性是对象的特征(外观和行为) ,表现为一些属性值.可以通过改变对象 的属性来改变对象的特征. 属性可以在设计进设定,也可以在运行时设定.

5.1.3 对象的事件

对象事件是指对象所能识别并响应的动作.例如:单击按钮等.

5.1.4 对象的方法

对象的方法是指对象能执行的动作.例如:Move 即表示对象有移动这样一 种方法.使用使用对象方法的语句为: 对象名称.对象方法 [参数] 例: Form2.Load Form1.Move 0,0 5.2 窗体

5.2.1 窗体的属性

窗体对象是 VB 应用程序的基本构造模块, 是运行应用程序时与用户交互操 作的实际窗口. 窗体的常用属性有:名称,Caption,Icon,MaxButton,MinButton,Height, Width,Left,Top,WindowState 等

20

VB6 程序设计

5.2.2 窗体的事件

窗体常用事件: Load, DragOver, MouseMove, GotFocus, MouseUp, DblClick, UnLoad, Click, Deactivate,LostFocus,DragDrop,MouseDown

5.2.3 窗体的方法

窗体的常用方法有: Hide,Print,Show,Move,Refresh,PrintForm,SetFocus 等.

5.3 控件使用基础

在 VB 程序中,除了窗体对象外,还有包含在窗体对象中的对象——控件.

5.3.1 控件的分类

VB6.0 中的控件分为三类:标准控件,ActiveX 控件和可插入的对象. 标准控件又称为内部控件,是 VB 本身提供的. ActiveX 控件包含在 ActiveX 控件部件中. 可插入对象是指由其它应用程序创建的不同格式的数据.

5.3.2 控件的基本操作

建立控件 选中控件 改变控件大小 删除,移动控件 复制控件

5.3.3 控件数组

控件数组由一组相同的类型的控件组成, 具有共同的名称, 它们的事件过程 相同.控件数组的 Index 属性区分控件数组中的元素.

5.3.4 控件的焦点

焦点是对象接收用户鼠标或键盘输入的能力.可以在代码中用控件的 SetFocus 方法来动态设置焦点. 当控件得到或失去焦点时,会产生以下事件:GotFocus,LostFocus. 21 第五章

窗体和标准控件

5.4 标准控件

在缺省情况下,VB 工具箱显示 General 选项卡,提供最常用的标准控件.

5.4.1 命令按钮(CommandButton) 命令按钮( )

命令按钮是 VB 中最常用的基本控件之一,几乎各种应用程序都有命令按 钮. 常用属性:Name,Caption(定义快捷键) ,Font,Enabled,Visible, BackColor,Default,Cancel,Index 等 主要事件:Click,MouseDown,MouseUp 等(不支持双击事件)

5.4.2 文本框(TextBox) 文本框( )

文本框是一个多功能控件,可以显示或者接收用户输入的文本信息. 常 用 属 性 : Text , MultiLines , MaxLength , Locked , ScrollBars , Passwordchar,SelStart,SelLength,SelText 等 主要事

件:KeyPress, Change,Lostfocus,Gotfocus 等 方法:Setfocus 等

5.4.3 标签(Label) 标签( )

标签控件主要用来显示文本.与文本框不同的是,在标签中只能显示文本, 而不能编辑文本. 常用属性: Name, Caption, Font, Enabled, Visible, BackColor, ForeColor, Alignment,AutoSize,WordWrap,BackStyle,BorderStyle 等 应用举例:2#P104 例 5.2,P107 例 5.3,P108 例 5.4,P110 例 5.5

实验: 实验:

用命令按钮改变窗体颜色文字颜色. (见 1#P21 例 2-7)

5.4.4 复选框(CheckBox) 复选框( )

复选框是应用程序中允许用户进行多项选择的控件. 常用属性: Name, Caption, Font, Enabled, Visible, BackColor, ForeColor, Value 等 主要事件:Click 等,不支持双击事件 22

VB6 程序设计

5.4.5 单选按钮(OptionButton) 单选按钮( )

单选按钮通常以按钮组的形式出现,用户可从中选择一个选项. 常用属性: Name, Caption, Font, Enabled, Visible, BackColor, ForeColor, Value 等 主要事件:Click 等

5.4.6 框架(Frame) 框架( )

框架控件用来对其他控件进行分组,以便于用户识别和功能上分区. 常用属性: Name, Caption, Font, Enabled, Visible, BackColor, ForeColor 等

5.4.7 列表框(ListBox) 列表框( )

列表框控件显示项目列表,用户可从中选择一个或多个项目. 常用属性: Name, Caption, Font, Enabled, Visible, BackColor, ForeColor, List,ListCount,ListIndex,Selected,Sorted,Text 等 主要事件:Click,DbClick 等 常用方法:AddItem,RemoveItem,Clear 等 List 属性包含一个数组,用于访问列表框中的项目.列表框中的每个项目都 是数组的元素,每个项目以字符串形式表示. 引用列表框的项目时使用格式: 列表框名称.List(index) 第一个项目的 index 为 0,最后一个项目的索引号为 ListCount-1. ListCount 属性只能在程序中引用. ListIndex 属性只能在程序中设置或引用,表示在列表框控件中当前所选项 目的索引号.如果没有选择项目,其值为-1. Selected 属性只能在程序中引用,反映列表框中的项目是否被选中.例:若 Selected(0)为 True,表示第一项被选中. Sorted 属性指定控件中的项目是否自动按字母顺序排序. Text 属性只能在程序中引用,返回列表框中所选择的项目内容.其返回的 内容与表达式 List(ListIndex)的返回内容相同. 主要事件:Click,DbClick 等 常用方法:AddItem,RemoveItem,Clear 等 应用举例: 2#P117[例5.8]编写能对列表框中的项目进行添加,删除和统计的应用程序. 要求:单击\"添加\"按钮,可将文本框中输入的内容添加到下面的列表框;单击 \"删除\"按钮可删除列表框中选定的项目;单击\"统计人数\"按钮,可将列表框 中的项目总数输出到右边的文本框(该文本框不允许用户编辑) .

23

第五章

窗体和标准控件

5.4.8 组合框(ComboBox) 组合框( )

组合框是将文本框和列表框结合在一起的控件, 用户既可以在文本框中输入 文本,又可以在列表框中选择需要的表项. 组合框的常用属性,事件和方法与列表框相同. 组合框有三种式样:下拉式组合框,简单组合框和下拉式列表框.

5.4.9 滚动条(HScrollBar,VScrollBar) 滚动条( , )

5.4.10 定时器(Timer) 定时器( )

定时器是应用程序控制定时发生事件的控件. 常用属性:Enabled,Interval 等 主要事件:Timer 应用举例: 2#P122[例 5.11]建立一个数字时钟,要求在每天早上 6 点发出 60 下声音.

5.4.11 其它标准控件

VB 的工具箱还提供图像控件,图片框,直线控件,形状控件,驱动器列表 框,目录列表框,文件列表框,数据控件和 OLE 容器控件.

5.5 应用举例

例 1:编写程序,运行时的界面如图所示. 24

VB6 程序设计

要求:用户可以从\"姓名\"列表中选择项目或输入新的姓名,对于列表中没 有的姓名可自动添加到列表中; \"班级\"及\"性别\"只允许选择;单击 OK 按钮, 即可在\"选择结果\"下面的标签中输出选择结果;单击 Delete 按钮,可删除\"姓 名\"组合框中的所选项目;单击 Exit 按钮,则退出程序;设置\"字体\"和\"字 号\" ,其效果反映在\"选择结果\"标签中. 25

第五章

窗体和标准控件

第六章 对话框

对话框是一种特殊的窗体, 通过它可以向用户显示各种信息, 或者提示用户 提供应用程序继续执行所需要的数据.

6.1 预定义对话框

6.1.1 消息对话框

消息对话框用来显示信息, 让用户选择按钮, 并可将用户的选择作为程序继 续执行的依据. MsgBox 函数是 VB 中用来生成各类消息框的函数,常用格式如下: MsgBox(prompt[,buttons][,title])

6.1.2 输入对话框

输入对话框用于在程序运行时提示用户输入信息. InputBox 函数是 VB 中用来生成输入对话框的函数,常用格式如下: InputBox(prompt[,title][,default][,xpos,ypos])

6.2 通用对话框

通用对话框是一种控件,称为 CommonDialog.使用该控件,可以创建\"打 开\"\"另存为\"\"颜色\"\"字体\"\"打印\"五种标准对话框,以及打开指定的帮 , , , , 助文件的\"帮助\"窗口.

6.2.1 通用对话框控件

启动 VB 后,选择\"工程\"菜单中的\"部件\"命令,在对话框的\"控件\"选 项卡中找到并选定\"Microsoft CommonDialog Control 6.0\"控件部件. 通过调用对话框的方法可以显示相应的对话框: ShowOpen:显示\"打开\"对话框 ShowSave:显示\"另存为\"对话框 ShowColor:显示\"颜色\"对话框 ShowFont:显示\"字体\"对话框 ShowPrinter:显示\"打印\"对话框 ShowHelp:打开帮助文件窗口 在程序运行时,通过对 CommonDialog 控件的 Action 属性赋值,也可以显 示相应的对话框.Action 属性值及其含义如下: 0:不显示对话框 26

VB6 程序设计

1:显示\"打开\"对话框 2:显示\"另存为\"对话框 3:显示\"颜色\"对话框 4:显示\"字体\"对话框 5:显示: \"打印\"对话框 6:显示帮助文件 基本属性:DialogTitle,CanceError 等.在设计时设置通用对话框的属性, 可在属性窗口中直接设置;也可以右击通用对话框控件,选择\"属性\" ,通过\"属 性页\" 对话框进行设置. 在程序运行时, 可通过赋值语句设置通用对话框的属性.

6.2.2 \"打开\"对话框 打开\"

常用属性:FileName,FileTitle,Filter,InitDir 等. 例: CommonDialog1.FileName = \"c:\\windows\\*.bmp\" CommonDialog1.ShowOpen s = CommonDialog1.FileName n = CommonDialog1.FileTitle

6.2.3 \"另存为\"对话框 另存为\"

\"另存为\"对话框的常用属性与\"打开\"对话框相同.

6.2.4 \"颜色\"对话框 颜色\"

常用属性:Color 等 例: Private Sub Command1_Click() CommonDialog1.ShowColor Form1.BackColor = CommonDialog1.Color End Sub

6.2.5 \"字体\"对话框 字体\"

常用属性: Flags, Color, FontBold, FontItalic, FontStrikethru, FontUnderline, FontName,FontSize

等. 例: Private Sub Command1_Click() CommonDialog1.Flags = 1 + 256

CommonDialog1.ShowFont Text1.FontName = CommonDialog1.FontName Text1.FontSize = CommonDialog1.FontSize Text1.FontItalic = CommonDialog1.FontItalic Text1.FontBold = CommonDialog1.FontBold 27

第五章

窗体和标准控件

Text1.FontStrikethru

=

CommonDialog1.FontStrikethru

Text1.FontUnderline

=

CommonDialog1.FontUnderline Text1.ForeColor = CommonDialog1.Color End Sub

6.2.6 \"打印\"对话框 打印\"

\"打印\" 对话框可以让用户选择打印参数: 指定打印机, 选择打印输出方式, 打印质量,打印的份数等. 除基本属性外,常用的属性有:Copies,FromPage,ToPage 等. 例: Private Sub Command1_Click() CommonDialog1.ShowPrinter For I = 1 To CommonDialog1.Copies Printer.Print Text1.Text Printer.EndDoc Next I End Sub

6.2.7 \"帮助\"对话框 帮助\" 例

:

Private

Sub

Command1_Click()

CommonDialog1.HelpFile

=

\"C:\\Program =

9

Files\\DevStudio\\VB\\Help\\vb5.hlp\" CommonDialog1.ShowHelp End Sub

6.3 自定义对话框 (略)

6.3.1 模式对话框与非模式对话框 6.3.2 自定义对话框的设计 28

VB6 程序设计

菜单,工具栏, 第七章 菜单,工具栏,状态栏及多文档界面 在 Windows 应用程序中,一般都有菜单,工具栏和状态栏.

7.1 菜单设计

7.1.1 菜单的基本概念

所谓菜单,就是应用程序为用户提供的一组命令. 下拉式菜单 弹出式菜单 在 VB 中,菜单和菜单中的命令项均看作是菜单控件.菜单控件最重要的属 性:Name,Caption.菜单控件只包含一个 Click 事件.

7.1.2 菜单编辑器

CommonDialog1.HelpCommand

在 VB 中使用菜单编辑器为应用程序创建菜单. 打开菜单编辑器的方法有三 种. 菜单编辑器窗口由三部分组成:数据区,编辑区和菜单控件列表框. 注意: 输入菜单命令标题时可用符号\"&\"为菜单命令添加访问键 如果菜单命令需要打开一个对话框,可在其名称后面加上一个省略号 在\"标题\"文本框中只输入一个字符\"-\" ,则可以创建菜单中的隔条控 件 菜单控件的名称应当唯一 菜单控件也可组成数组 可为菜单项指定一个快捷键

7.1.3 编写菜单控件的事件过程

应用举例: 2#P154[例 7.2]设计一个包含加,减,乘,除算术运算及其清零功能的菜单 及窗体,计算结果可以按八进制,十进制,十六进制显示(缺省以十进制显示) , 如下图所示. 29 第五章

窗体和标准控件

程序见 2#0702

7.1.4 菜单项的动态设置

所谓菜单项的动态设置, 是指在应用程序的运行过程中, 所创建的菜单能随 运行条件不同而动态变化. 菜单项的动态设置方法有: 菜单项有效或无效 菜单项前面出现或者不出现复选标志 菜单项可见或不可见 运行时增加或删除菜单项 2#P157[例 7.3]编写程序.要求:程序运行初期,在窗体左边的列表框中生 相应的动态菜单如下图所示; 成 10 个由小到大排列的 10 到 100 之间的随机整数, 如果选择\"转移\"菜单下面的\"右移\"命令,则左边列表框的 10 个数移动到右 边的列表框中,并由大到小排列;再打开\"转移\"菜单,则只有\"左移\"命令可 用.

程序见 2#0703

7.1.5 弹出式菜单

弹出式菜单的建立方法: 通过菜单编辑器建立一个菜单 运行时在 MouseUp 或 MouseDown 事件中使用 PopupMenu 方法,可显 示弹出式菜单 2#P161[例 7.5]将[例 7.3]中的下拉菜单改为三个弹出式菜单,如下图所示. 30

VB6 程序设计

程序见 2#0703

7.2 工具栏设计

工具栏由多个命令按钮组成,每个按钮通常对应菜单栏中的某一菜单命令, 它提供了对于应用程序中最常用的菜单命令的快速访问.

7.2.1 用工具栏控件创建工具栏

使用工具栏控件(ToolBar)可以创建工具栏. 基本操作步骤: 创建菜单 添加 Windows Common Contrals6.0 控件部件 在窗体上添加图像列表控件(ImageList) 在窗体上添加工具栏控件,将 ToolBar 控件与 ImageList 控件相关联, 并加入代表单个按钮的对象 为每个按钮编写程序

7.2.2 工具栏控件作用实例

2#P168[例 7.6]设计一个窗口外观如下图所示的程序,在窗口下方的\"请输 入\"文本框中输入一句名言,选择\"编辑\"菜单中的\"名言展示\"命令,名言就 被添加到窗口中间的\"名言展示\"文本框中.

程序见 2#0706 31 第五章

窗体和标准控件

7.2.3 手工创建工具栏

7.3 状态栏设计

状态栏一般位于窗体的底部,可动态显示应用程序或系统有关的状态信息, 例如所选文件的个数,选定文本块的字节数,键盘状态,系统日期和时间等.

7.3.1 状态栏控件(StatusBar) 状态栏控件( ) 7.3.2 应用举例

2#P177[例 7.7]在程序 2#0706 中加上状态栏,显示文本框 Text1 中展示的名 言句数和总长,以及系统日期和系统时间.

程序见 2#0707

7.4 多文档界面设计简介

多文档界面能使应用程序的一个主窗体内同时打开多个子窗体, 提供了同时 对多个文档操作的环境,方便了用户的使用.

7.4.1 多文档界面(MDI) 多文档界面( )

在 Windows 应用程序中, 通常有两种操作界面形式: 单文档界面 (SDI-Single Document Interface)和多文档界面(MDI-Multiple Document Interface) .依此, Windows 应用程序中就有 SDI 应用程序和 MDI 应用程序. MDI 应用程序中的父窗体及其所有子窗体具有以下一些性质: 所有子窗体都显示在父窗体的工作区域内. 当一个子窗体最大化时,它的标题和父窗体的标题组合在一起,显示在 父窗体的标题栏中. 当一个子窗体最小化时,它只以一个标题栏形式显示在父窗体内,而不 32

VB6 程序设计

是显示在 Windows 系统的任务栏中.当父窗体最小化或关闭时,所有 的子窗体都随之而最小化或关闭. 当前活动子窗体的菜单将显示在父窗体的菜单栏中, 而不是显示在子窗 体中.

7.4.2 创建 MDI 窗体和子窗体 创建 MDI 窗体 创建子窗体

7.4.3 应用举例

2#P180[例 7.8]设计一个简单的文本编辑器,并利用多文档窗口界面实现同 时打开多个文档进行编辑.

程序见 2#0708 33

第五章

窗体和标准控件

第八章 处理鼠标与键盘事件

8.1 处理鼠标事件

8.1.1 鼠标事件 8.1.2 检测鼠标按钮 8.1.3 检测 Shift,Ctrl 及 Alt 键的状态 ,

8.2 使用鼠标实现拖放

8.2.1 DragDrop 和 DragOver 事件 8.2.2 自动拖放和手工拖放

8.3 自定义鼠标指针 自定义鼠标指针

8.4 处理键盘事件

8.5 应用举例 34

VB6 程序设计

第九章 图形操作

9.1 VB 坐标系统

9.1.1 系统坐标系统

原点(0,0) X轴 Y轴

9.1.2 转换坐标系统的刻度

9.1.3 自定义坐标系统

9.2 图形的属性 35

第五章

窗体和标准控件

9.2.1 线宽和线型 9.2.2 填充 9.2.3 颜色

9.3 图形方法

9.3.1 Cls 方法

清除运行时窗体或图片框产生的图形或文本. 格式: [Object.]Cls 其中,Object 指的是窗体或图片框等对象,缺省时指当前窗体. 注意:在设计时窗体中用 Picture 属性设置的背景位图和放置的控件,并不 受此命令影响.

9.3.2 PSet 方法

用于在一个指定的对象上画点,是通过设置指定点像素的颜色实现的. 格式: [Object.]Pset [Step](x,y)[,Color] 其中,Object 指的是窗体或图片框等对象,缺省时指当前窗体;(x,y)用于设 定画点的坐标,若前面有关键字 Step,则是相对于 CurrentX 和 CurrentY 属性提 供的当前坐标的相对值;Color 用于设定该点的颜色,缺省为当前的 ForeColor 属性指定的颜色.

9.3.3 Point 方法 9.3.4 Line 方法

用于画直线,矩形框或填充框. 格式: [Object.]Line[ Step][(x1,y1)]-[Step](x2,y2)[,Color][,B[F]] 其中,Object 指的是窗体或图片框等对象,缺省时指当前窗体;(x1,y1)用于 表示直线或矩形的起点坐标,如果省略,起点坐标为当前坐标,若前面有关键字 Step,则表示起点坐标是相对于当前坐标的相对值;(x2,y2)用于表示直线或矩形 36

VB6 程序设计

的终点坐标,若前面有关键字 Step,则表示终点坐标是相对于起点的相对值; Color 用于设定

该点的颜色, 缺省为当前的 ForeColor 属性指定的颜色; 表示利 B 用对角坐标画出矩形;F 必须与参数 B 同时使用,表示矩形以矩形边框的颜色填 充. 3#P59[例 9.1]单击窗体中图片框控件, Line 方法绘制 0~2π之间参数方程: 用 x=acos4θcosθ,y=asinθcos4θ的图形,其中 a 为图形框的高度的一半.

程序见 3#0901

9.3.5 Circle 方法

用来画圆,椭圆以及圆弧. 格式: [Object.]Circle[ Step](x,y) radius,[color,start,end,aspect] 其中, Object 指的是窗体或图片框等对象, 缺省时指当前窗体; (x,y)表示圆, 椭圆或圆弧的中心坐标,若前面有关键字 Step,则表示坐标是相对于当前坐标的 相对值;radius 表示圆,椭圆或圆弧的半径;color 表示所用的颜色;start,end 表示圆弧或扇形的起始角度和终止角度,单位为弧度;aspect 表示圆的纵横比.

9.3.6 PaintPicture 方法

9.4 图形控件

9.4.1 图片框和图像控件

图片框既可用于显示静态图形又可用于播放动态图形, 而图像框只能用于显 示静态图像.图片框支持各种图形方法和打印方法,也可作为容器,而图像框则 不能. 设计时和运行时可以采用不同的途径把图片装入窗体,图片框和图像框中. 属性:AutoRedraw,AutoSize,Stretch,Align 等 37 第五章

窗体和标准控件

事件: 方法:

9.4.2 直线控件 9.4.3 形状控件

形状控件是图形控件, 专门用于在窗体上绘制图形. 利用 Shape 控件的一些 属性设置就可以绘制出多种形状的图形,并可确定它们的颜色,填充样式,边框 样式等.

9.5 应用举例 38

VB6 程序设计

第十章 程序调试与错误处理

10.1 错误类型

语法错误(Syntax Error) 运行错误(Run Time Error) 逻辑错误(Logic Error)

10.2 程序调试

查找并修改错误的过程称为调试. 在 VB 集成开发环境中,应用程序有三种工作模式:设计模式,运行模式, 中断模式. VB 提供的调试工具包括断点,逐语句和逐过程执行,以及调试窗口等.

10.2.1 调试窗口

调试窗口是 VB 的重要调试工具, 在逐条运行语句时可用调试窗口监视表达 式和变量的值.有三个调试窗口:立即窗口,监视窗口和本地窗口.

10.2.2 断点调试

设置断点 通过菜单,工具栏上的工具,鼠标或键盘都可设置断点. 使用立即窗口 直接在立即窗口输入 Print(或?)方法,可获得当前程序中该参数的值, 或在应用程序中使用 Debug.Print 语句也可以将信息直接输出到立即窗口.

10.2.3 跟踪调试

当一个应用程序的运行得不到正确的结果时, 首先应估计出错的范围; 再设 置几个断点,将问题区域进行隔离;然后用逐语句,逐过程和跳出等调试工具, 跟踪观察每个语句的执行效果.

10.3 错误处理

有一些运行错误是无法预料的,VB 本身以提示错误信息并终止程序运行的 方法,来处理程序运行中出现的各种错误.为了防止因运行错误而使应用程序中 断,VB 提供了对错误的捕获和处理能力,以防止致命错误的发生. 39

第五章

窗体和标准控件

10.3.1 错误对象

在 VB6.0 中,提供了一个用于错误捕捉的对象 Err,可通过该对象的属性和 方法来实现错误的捕捉和处理. Err 对象的属性由错误源自动设置.VB 可标识 80 多种运行错误,这些错误 的代码可以在联机帮助中查到. Err 对象的主要属性:Number,Description,Source Err 对象的方法:Clear,Raise

10.3.2 错误陷阱

为了防止致命错误的发生,在 VB 应用程序中应采用错误陷阱的方法. 设置错误陷阱的方法是使用命令: On Error Goto 标号|Resume Next|Goto 0

10.3.3 错误处理程序 40

VB6 程序设计

第十一章 文件操作

在程序设计时, 经常需要从磁盘上读取数据或将数据存储到磁盘上, 这就需 要对文件进行访问和操作.

11.1 文件系统控件

要进行文件的复制,移动等操作,必然要访问驱动器,文件夹.这就要用到 文件系统控件.

11.1.1 DriveListBox 控件

主要属性:Drive 主要事件:Change

11.1.2 DirListBox 控件

主要属性:Path 主要事件:Change

11.1.3 FileListBox 控件

主要属性:Archive,Hidden,Normal,ReadOnly,System,FileName, ListIndex,ListCount,List,MultiSelect,Path,Selected 主要事件:PathChange,Click 例: Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub Private Sub File1_Click() For i = 0 To File1.ListCount - 1 If File1.Selected(i) Then MsgBox File1.List(i) End If Next i End Sub 41

第五章

窗体和标准控件

Private Sub Form_Load() File1.Archive = True File1.Hidden = False File1.Normal = False File1.ReadOnly = False File1.System = False End Sub

11.2 FileSystem Object(FSO)对象模型 对象模型

11.2.1 FileSystem Object(FSO)对象模型简介 对象模型简介 11.2.2 FileSystem Object(FSO)对象 对象 11.2.3 Drive 对象 11.2.4 Folder 对象 11.2.5 File 对象 11.2.6 TextStream 对象

11.3 文件读写

11.3.1 VB 的文件系统

VB 根据计算机访问文件的方式将文件分成三类:顺序文件,随机文件和二 进制文件. 顺序文件是普通的正文文件, 具有最简单的文件结构, 其中的记录一个接一 个地按顺序存放, 而且只提供第一个记录的存储位置, 其它记录的位置无法获悉. 所以要在顺序文件中找一个记录,必须从头一个一个地读取,直到找到所要查找 的记录为止. 随机文件是可以按任意次序读写的文件, 每个记录的长度必须相同. 在这种 文件结构中,每个记录都有一个记录号,所以存入数据时,只要指明记录号,就

42

VB6 程序设计

可以将数据直接存入指定的位置.读取数据时,只要知道记录号,便可以直接读 取记录. 二进制文件是字节的集合,它允许程序按所需的任何方式组织和访问数据.

11.3.2 顺序文件的操作

1,打开顺序文件 , 要想对顺序文件进行读写操作,就必须先打开它.打开顺序文件的格式: Open pathname For Input As #filenumber [Len=buffersize] 打开一个文件,可以从文件中读取数据. Open pathname For Output As #filenumber [Len=buffersize] 打开一个文件,且只能向该文件中写入数据 Open pathname For Append As #filenumber [Len=buffersize] 打开一个文件,可以向文件尾追加记录. 其中: pathname 为一字符串值,用于指明要打开的文件的路径及文件名. Filenumber 是一个有效的文件句柄号,范围在 1 到 511 之间. Len 用于指定缓冲区的大小. 注意: Input 方式打开的顺序文件必须事先已存在, 以 否则系统会显示出错. 2,关闭文件 , 用户在打开一个文件并进行了某些操作以后, 应及时关闭文件, 以免其内容 被破坏或丢失. 关闭文件的格式: Close [#][filenumber],[#][filenumber] 3,读顺序文件 , 为了从文件中读取信息, 必须使用 Input 格式来打开文件. 可以用 Line Input #,Input #,语句或 Input 函数来读取顺序文件中的数据. 格式: Line Input #filenumber,varname 从已打开的顺序文件中读出一行并将所读出的数据赋给一个字符串变量. Input #filenumber,varlist 从已打开的顺序文件中读出数据并将数据指定给变量. 其中 varlist 为用逗号 分隔的变量列表. 为了能够用 Input #语句将文件的数据正确读入到变量中, 在将 数据写入文件时,要使用 Write #语句而不是使用 Print #语句. Input(number,[#]filenumber) 从文件中读取指定数目的字符. 4,写顺序文件 , 要在顺序文件写入数据,应以 Output 或 Append 方式打开它.VB 提供了两 个语句来向顺序文件写入数据: 43 第五章

窗体和标准控件

Print #filenumber,[outputlist] 将格式化显示的数据写入到顺序文件中. Write #filenumber,[outputlist] 将数据写入顺序文件. Print #语句不同的是, 与 该语句在数据项之间自动插 入逗号,用户不必另外写入分隔符.

11.3.3 随机文件的操作

在打开一个随机文件进行读写操作之前, 应先定义一个记录类型的变量, 以 用于对文件进行读写. 1,打开及关闭随机文件 , Open pathname For Random [Access access] As #filenumber [Len=reclength] 其中: Access access 是指文件的读取方式,可有三种选择:Access Read:只能从打 开的文件中读取数据;Access Write:只能只打开的文件写入数据;Access Read Write:可以读写打开的文件,此为默认值. 2,读写随机文件 , Get [#]filenumber,[recnumber],varname 将某个文件中所指定的记录的内容读取到指定的变量中. Put [#]filenumber,[recnumber],varname 将指定变量的内容写到指定的记录位置.

11.3.4 二进制文件的操作 二进制文件的操作

1,打开及关闭二进制文件 , Open filename For Binary [Access access] As # filenumber 2,读写二进制文件 , Get [#]filenumber,[Position],varname Put [#]filenumber,[Position],varname

11.4 VB 提供的传统的对文件进行操作的语句和函数 1,复制文件语句 FileCopy , 格式: FileCopy source,destination 44

VB6 程序设计

2,删除文件语句 Kill , 格式: Kill pathname 3,重命名语句 Name , 格式: Name oldpathname As newpathname 4,ChDrive 语句 ,

11.5 应用举例 45

第五章

窗体和标准控件

第十二章 数据库操作

VB6 在数据库方面的应用非常广泛,它所提供的数据库技术可以很灵活地 创建, 访问内外部数据库, 极方便地完成数据库应用中的数据输入, 修改, 查询, 移动等操作.

12.1 数据库概述

12.1.1 数据库的基本概念

VB6 中默认的数据库格式是 Access 的数据库格式 (扩展名为.mdb) 即所谓 , 的 VB 的内部数据库.它也可以处理 FoxPro,Excel,Paradox 等数据库,这些被 称为 VB 的外部数据库. VB 的数据库可包含一个或多个二维表. 整个表(Table)由行与列组成,可把每列数据项目称作字段(Field) ;而把 ; 每行数据称作记录(Record)

12.1.2 可视化数据库管理器的使用

VB 的数据库可以直接用 Microsoft Access 来建立, 也可以 VB 本身的 \"数据 库管理器\"来建立. \"数据库管理器\"的启动 建立数据表结构 输入记录

12.2 利用数据控件访问数据库

12.2.1 数据控件(Data) 数据控件( )

数据控件的主要属性: Connect, DatabaseName, RecordSource, Recordset, ReadOnly 等 数据控件的常用方法:Refresh,UpdateRecord 等 数据控件的常用事件:Validate,Reposition 等 Recordset(记录集)对象的主要属性:Fields,RecordCount,Bof,Eof,

AbsolutePosition,BookMark,NoMatch 等 Recordset(记录集)对象的主要方法:AddNew,Delete,Edit,Find(方 法组) ,Move(方法组) ,Update,CancelUpdate 等 46

VB6 程序设计

12.2.2 记录的显示

1,利用控件绑定技术显示记录 , 具有 DataSource 和 DataField 属性的控件都可绑定到数据控件上,这些控件 有标签,文本框,复选按钮,下拉列表框,图像框,图片框等. 2,利用 ActiveX 控件显示记录 , 其中较常用的有 DBGrid 控 VB6 提供了一些用来一一显示整条记录的控件, 件 \"Microsoft Data Bound Grid Control\" (在 部件中) DataGrid 控件及 MsFlexGrid , 控件. DBGrid 控件的主要属性:DataMode,DataSource DBGrid 控件的主要方法:Add,Remove 3,利用程序显示记录 , 对记录集对象可以利用 Move 方法组或 Find 方法组定位于某条记录,然后 使用记录集的 Fields 属性将记录数据显示出来.

12.2.3 记录的添加,修改及删除 记录的添加,

利用数据控件进行数据库操作十分方便,这些操作为对记录的添加,修改, 删除和查询. 打开数据表 Data1.Connect = \"Access\" Data1.DatabaseName = \"E:\\1\\stud.mdb\" Data1.RecordSource = \"student\" Data1.Refresh 关闭数据表 Data1.Recordset.Close 移动表记录 Data1.Recordset.MoveLast Data1.Recordset.MoveFirst 添加新记录 Data1.Recordset.AddNew Data1.Recordset.Fields(0) = \"1999 届\" …… Data1.Recordset.Update 删除记录 Dim Message As Integer Message = MsgBox(\"确实要删除吗?\信息确认\") If Message = vbYes Then With Data1.Recordset .Delete 47

第五章

窗体和标准控件

.MoveNext If .EOF Then .MoveLast End If End With End If 修改记录内容 Dim Message As Integer Message = MsgBox(\"数据要更新吗?\vbYesNo, \"信息确认\") If msg = vbYes Then With Data1.Recordset .Edit .Fields(0) = Text1 ...... .Update End With End If 查找记录 Dim LastPosition As Variant With Data1.Recordset LastPosition = .Bookmark .FindFirst \"xm Like '高*'\" If .NoMatch Then MsgBox \"找不到!\" .Bookmark = LastPosition End If End With

12.2.4 应用举例

2#P283[例 12.1]建立一个学生数据信息处理系统,如下图所示.

程序见 2#1201

48

VB6 程序设计

2#P283[例 12.2]建立一个学生数据信息处理系统.要求:窗体中有一个数据 控件,八个标签,四个下拉列表框,三个文本框,四个命令按钮和一个 DTPicker 控件(在\"Microsoft Windows Common Controls-2 6.0\"部件中) ,如下图所示. 按显示按钮将显示 Form2 窗体,其中有一个数据控件,一个 DBGrid 控件(在 \"Microsoft Data Bound Grid Control\一个命令按钮. )

程序见 2#1202

12.3 使用数据访问对象(DAO)访问数据库 使用数据访问对象( )

如果用户要在程序运行过程中动态地创建数据库, 数据表或是某一字段, 就 必须使用数据访问对象来实现对数据库的访问

12.3.1 数据访问对象(DAO)访问技术 数据访问对象( )

数据访问对象的英文缩写为 DAO, Data Access Object. 即 它是 Microsoft Jet 数据库存引擎的面向对象的接口.使用数据访问对象,用户可以完全在程序中实 现对数据库的创建及访问,比使用数据控件更加灵活高效. DAO 并没有直接嵌入 VB 系统中,在使用之前,必须先将它引入到系统中. 单击 \"工程\" 菜单中的 \"引用\" 命令, 屏幕上出现 \"引用\" 对话框, \"Microsoft 选中 DAO 3.51 Object Library\" ,然后单击\"确定\"按钮,即将 DAO 引入到系统中.

12.3.2 DAO 的层次结构

数据访问对象 DAO 是分层组织的, 最顶层是 Jet 数据库引擎 DBEngine 对象, 该对象无需创建就可以使用. 49 第五章

窗体和标准控件

12.3.3 DAO 的主要对象

1,DBEngine 对象 , 主要的方法:CompactDatabase,CreateWorkspace

12.3.4 使用 DAO 访问数据库

12.4 使用 ActiveX 数据对象(ADO)访问数据库 数据对象( )

12.4.1 ADO 简介 12.4.2 使用 ADO 控件来访问数据库 12.4.3 使用 ADO 对象模型来访问数据库

第十三章 VB6 进一步应用

13.1 多媒体信息处理

13.1.1 多媒体的基本概念

多媒体信息: 音频:有 CD 音频,波型音频,MIDI 音频 视频:有 AVI 视频,MPEG 视频 动画

13.1.2 MCI 控件

MCI Multimedia Control Interface 多媒体控制接口) VB 提供的胜于控制, ( 是 管理多媒体设备的接口,这些设备包括声卡,CD-ROM,CD 播放器,MIDI 音 序器和视频磁盘等. 要在程序中使用 MCI 控件,必须先将其添加到 VB 工具箱中:单击\"工程\" 50

VB6 程序设计

菜单中的\"部件\"命令,选中\"Microsoft Multimedia Control 6.0\" . 主要属性:Command,DeviceType,Enabled,FileName,Shareable, Visible,Wait Command 属性的一些常用的值 属性值 功能描述 Open 打开 MCI 设备 Close 关闭 MCI 设备 Play 进行播放 Pause 暂停播放或继续播放 Stop 停止 MCI 设备 Back 向后退至可用的音轨 Step 向前进到可用的音轨 Prev 使用 Seek 命令跳到当前曲目的开始位置 Next 使用 Seek 命令跳到下一曲目的开始位置 Seek 查找曲目 Record 记录 MCI 设备的输入 Eject 弹出 CD-ROM MCI 控件所支持的部分设备的类型 设备类型 类型名 文件类型 设备描述 CD Audio CDAudio .CDA CD 音频播放器 Digital Tape Audio .DAT 数字音频磁带播放器 Digital video DigitalVide 窗口中的数字视频 Scanner Scanner 图像扫描仪 Sequencer Sequencer .MID MIDI 序列发生器 Vcr VCR 视频磁带录放器 AVI AVIVideo .AVI 视频文件 videodisc Videodisc 视盘播放器 waveaudio Waveaudio .WAV 播放数字波形文件的音频设备 Overlay Overlay 覆盖设备 Other Other 未定义 MCI 设备

13.1.3 播放音频和视频信息

1,播放音频和视频信息的一般过程 , 添加 MCI 控件 打开 MCI 设备 播放音频或视频信息 关闭 MCI 设备 2,应用举例 , 设计窗体 编写代码 51

第五章

窗体和标准控件

13.2 报表制作及打印

13.2.1 报表设计器 Crystal Reports Pro 13.2.2 制作报表 13.2.3 打印报表

13.3 ActiveX 控件的制作

13.3.1 ActiveX 控件概述 13.3.2 制作 ActiveX 控件 13.3.3 测试 ActiveX 控件 13.3.4 发布控件

13.4 制作安装程序

13.4.1 制作安装程序前的准备工作 13.4.2 启动\"打包和展开向导\" 启动\"打包和展开向导\"

13.4.3 将应用程序打包 13.4.4 将制作成的安装软件包发布到软盘上

因篇幅问题不能全部显示,请点此查看更多更全内容

Top