admin 管理员组

文章数量: 887021


2024年1月13日发(作者:sklearn实现逻辑回归)

第一章 Visual Basic基础

Visual Basic因其易学易用、功能强大的特点,已受到越来越多人的青睐。本章首先介绍的是Visual Basic语言最基本的知识。

1.1 VB简介

Visual Basic是Microsoft公司于1991年推出的应用程序开发工具,在短短的几年时间里,就成为Windows环境下流行的编程语言。与传统程序设计模式完全不同,Visual Basic采用的是可视化开发图形用户界面的方法。所谓Visual Basic(以后简称为VB),“Visual”的含义是“可视化的”,而“Basic”却是指BASIC(Beginer’s All-purpose Symbolic Instruction

Code)语言。BASIC语言是上世纪60年代开始推广的一种高级语言,由于该语言好懂易学,上世纪80年代曾在我国得到广泛流行。早期的BASIC语言已被淘汰,随着Windows环境的推广使用,新一代的BASIC语言——Visual Basic却应运而生。由于VB继承传统BASIC语言简单易学的特点,加上提供可视化的设计工具,使得VB成为许多程序员(包括“业余”程序员)首选的编程工具。本书将以最为流行的VB6.0版本为背景来介绍VB程序设计。

1.1.1 VB的发展

BASIC语言自1964年问世以来已经历了四个发展阶段。第一代BASIC(1964年至70年代初期)功能简单,只含17个基本语句,常称为基本BASIC。第二代BASIC(70年代中期到80年代中期),功能有了较大扩充,应用面也较广,其代表为GW-BASIC和MS-BASIC。第三代BASIC(80年代以后)是结构化的BASIC语言,其代表为True BASIC、Turbo BASIC、Quick BASIC和QBASIC。

新一代的BASIC是Visual Basic,1991年刚推出的第一个版本功能相对较少,设计上也有缺陷。经过Microsoft公司的不断努力,1993年推出的VB3.0已初具规模,进入实用阶段。在以后的1995年、1997年和1998年又相继推出了4.0、5.0和6.0三个版本,功能上进一步完善和提高,尤其在数据库管理、网络应用方面更为突出。

VB的推出,使大批“业余”编程人员可以有用武之地。有一定程序设计基础的人,只要花费少量时间,就能够掌握VB基本的编程知识,设计出界面良好而又实用的应用程序。

VB6.0有三种版本,分别为学习版、专业版和企业版,可以满足不同的开发需求。这三个版本具有各自的特点:

1.VB学习版可使编程人员轻松开发Windows和Windows NT(R) 的应用程序。该版本包括所有的内部控件,以及网格、选项卡和数据绑定控件。

2.VB专业版为专业编程人员提供一整套功能完备的开发工具。该版本包括学习版的全部功能,还提供ActiveX控件、Internet Information Server Application Designer、集成的Visual

DataBase Tools和Data Environment、Active Data Objects和Dynamic HTML Page Designer。

1

3.VB企业版是VB6.0最高级版本,使得专业人员能够开发功能强大的组内分布式应用程序。该版本包括专业版的全部功能,还包括一个Back Office工具。

1.1.2 VB6.0的功能特点

VB的主要功能特点有:

1.提供可视化的编程工具

用VB开发应用程序,主要包括两部分工作:一是设计用户界面,二是编写程序代码。

VB向程序设计人员提供面向对象的程序设计方法,使我们能够把程序和数据封装在一起,每个对象都是可视的。设计时,通过使用各种工具,直接在屏幕上绘出窗体的按钮、文本框、滚动条等不同类型的控件对象,并为每个对象设置各种属性。这就是说,界面的设计完全通过可视化手工制作,而不必像以往一样要为界面设计而编写大量代码。VB中的编程工作仅在于编写针对对象要完成哪些功能的程序,因而程序设计的效率较高。

VB6.0新增了不少控件,如工具栏控件CoolBar、日历界面时间控件DateTimePicker和MonthView、图形组合框控件ImageCombo、数据库控件ADO Data等。

2.事件驱动的编程机制

传统的编程方法是:根据程序要实现的功能,写出一个完整的程序,其中包括主程序和子程序。例如,用C语言和Pascal语言编写的程序都是这样。我们将这种按程序事先设计的流程运行的程序设计方法称为面向过程的程序设计方法。

VB改变了程序机制,没有传统意义上的主程序,使程序执行的基本方法是由“事件”来驱动一段程序(VB称为过程)的运行。这种事件驱动的编程机制非常适合图形用户界面的编程方式,程序员只要编写响应用户动作(事件)的代码,而各个动作之间可以是各自独立、互不相干的。这样的应用程序,每个过程的代码都较短,使得程序既易于编写又易于维护。我们称这种程序设计方法为面向对象的程序设计方法(OOP)。

3.提供易学易用的应用程序集成开发环境

VB集成开发环境提供的菜单栏、工具栏、工具箱、窗体设计器窗口、工程管理器窗口、属性窗口、代码编辑器窗口、窗体布局窗口、立即窗口、本地窗口、监视窗口等,可以使用户轻松自在地设计自己的应用程序。在VB的集成开发环境中,用户可手工设计界面、设置对象属性、编写程序代码、调试运行程序,直到把应用程序编译成可执行文件。

4.支持多种数据库系统的访问

在VB中,利用数据库控件或ODBC能够访问的数据库系统有:Access、Btrieve、dBASE、FoxPro和Paradox等,也可访问Excel、Lotus1-2-3等多种电子表格。

VB6.0还新增了功能强大、使用方便的ADO(Active Database Object)技术,ADO是微软制订的应用程序级数据库访问接口,支持所有OLD DB数据库厂商。ADO包括现有的ODBC,而且占用内存少,访问速度更快。使用ADO控件,不但可以用最少的代码创建数据库应用程序,还可以取代原来的Data控件和RDO控件。

5.结构化程序设计语言

VB用事件过程、子过程及函数过程来实现结构化程序设计。在每个过程中只需用顺序结构、分支结构、循环结构来描述和控制程序流程。VB6.0还增加很多语言新功能,如:

(1) 新增了许多函数,如字符串替换函数Replace、筛选函数Filter等等。

(2) 函数的返回值可以是整个数组,动态数组可以赋值。

2

(3) 增加了文件系统对象,能全面地实现驱动器、子目录和文件的管理。

6.OLE技术

VB的核心就是它对对象链接与嵌入的支持,利用OLE,VB能够开发集声音、图像、动画、字处理、Web等对象于一体的应用程序。

7.Active技术

Active技术发展了原有的OLE技术,使开发人员摆脱了特定语言的束缚。在VB中,可方便地使用标准的Active控件,调用标准的接口,实现特定的功能。

8.网络功能

VB6.0新增的最重要功能之一就是提供了DHTML设计工具。这种技术可以使Web页面设计者动态地创建和编辑页面,使用户能够在VB中开发多功能的网络应用软件。

9.应用程序向导

VB6.0新增的应用程序向导可以自动创建不同类型、不同功能的应用程序。这些向导有数据向导、数据窗体向导、IIS应用程序和DHTML等,同时对已有的向导增强了功能。

10.完备的联机帮助功能

在VB中,用户可随时通过帮助菜单和功能键F1获得所需帮助信息。VB帮助窗口中显示了有关的示例代码,通过复制、粘贴、修改之后就可作为用户的程序代码。

1.2 VB运行环境、安装和启动

Visual Basic是Microsoft公司于1991年推出的应用程序开发工具,在短短的几年时间里,就成为Windows环境下流行的编程语言。与传统程序设计模式完全不同,Visual Basic采用的是可视化开发图形用户界面的方法。所谓Visual Basic(以后简称为VB),“Visual”的含义是“可视化的”,而“Basic”却是指BASIC(Beginer’s All-purpose Symbolic Instruction

Code)语言。BASIC语言是上世纪60年代开始推广的一种高级语言,由于该语言好懂易学,上世纪80年代曾在我国得到广泛流行。早期的BASIC语言已被淘汰,随着Windows环境的推广使用,新一代的BASIC语言——Visual Basic却应运而生。由于VB继承传统BASIC语言简单易学的特点,加上提供可视化的设计工具,使得VB成为许多程序员(包括“业余”程序员)首选的编程工具。本书将以最为流行的VB6.0版本为背景来介绍VB程序设计。

1.2.1 VB运行环境

VB6.0本身对软硬件没有特殊要求,它对环境的要求与操作系统的要求是一致的。

硬件要求:486DX/66MHz以上的微处理器、16MB以上内存、100MB以上的硬盘、一个CD-ROM驱动器、Windows支持的VGA或分辨率更高的监视器。

软件要求:Windows95以上或Windows NT 3.51以上版本操作系统。

1.2.2 VB的安装

VB6.0系统安装盘可能是一张独立CD盘,也可能是在“Visual Studio”产品的第一张

3

CD盘上。如果安装盘上没有自动安装程序,可以通过执行VB6子目录下的文件来安装。要注意的是,VB6.0的联机帮助文件是使用MSDN(Microsoft Developer Network

Library)文档的帮助方式,与VB6.0系统不在同一张CD盘上,安装过程中,系统会提示插入MSDN盘。

安装好VB6.0系统后,有时根据需要要添加或删除某些部件,可插入安装盘重新执行安装程序,安装程序会检测当前系统安装的VB6.0组件,用户单击“添加/删除”按钮后,在“安装维护”对话框中选定要添加的部件或撤消选定要删除的部件。

1.2.3 VB的启动

完成安装过程之后,就可以单击任务栏上的“开始”按钮,选择“程序”菜单来启动VB。还可以在桌面上创建一个VB快捷方式,通过双击它来启动VB。

进入VB6.0之后,可以见到图1-1所示窗口。在“新建工程”对话框中列出了VB能够建立的应用程序类型。对初学者来说,只要选择默认的“标准 EXE”就可以了。

图1-1 VB6.0窗口

在“新建工程”对话框中有三个选项卡:

z 新建:用于建立新工程

z 现存:用于选择和打开现有工程

z 最新:用于选择最近使用过的工程

在“新建”选项卡上选择“标准 EXE”后单击“打开”按钮,就可以创建用户应用程序,进入VB6.0应用程序集成开发环境。

1.3 VB集成开发环境

VB6.0应用程序集成开发环境如图1-2所示,主要由以下一些元素组成:

4

图1-2 VB6.0集成开发环境

1.标题栏

与Windows其他应用程序界面一样,窗口标题栏最左端是应用程序图标,右击可显示窗口控制菜单;最右端是最小化、还原/最大化、关闭按钮。

一开始标题栏上的标题为“工程1-Microsoft Visual Basic [设计]”,说明此时集成开发环境处于设计模式。如果进入其他状态,方括号中的文字将作相应改变。VB共有三种工作模式,即设计模式、运行模式和中断模式。

2.菜单栏

VB6.0菜单栏包括13个下拉菜单,这是程序开发过程中所需的命令。这些菜单是:文件、编辑、视图、工程、格式、调试、运行、查询、图表、工具、外接程序、窗口和帮助。

3.工具栏

工具栏提供了对常用命令的快速访问方式。除了如图1-3所示的标准工具栏外,还有编辑、窗体编辑器、调试等专用工具栏,可以通过“视图”菜单上的“工具栏”命令来打开或关闭;也可以通过右击工具栏,在快捷菜单中来选择所需工具栏。

图1-3 VB6.0标准工具栏

4.工具箱

VB6.0的工具箱提供了一组工具,用于设计时在窗体中放置控件。在缺省情况下,工具箱中包含如图1-4所示的指针图标和20个控件图标。

图1-4 VB6.0工具箱

5.工程资源管理器窗口

工程资源管理器保存了一个应用程序所有的文件,窗口中以层次列表方式列出当前工程

5

所有的窗体、标准模块和类模块文件,如图1-5所示。工程资源管理器窗口上有三个工具按钮,分别是:“查看代码”、“查看对象”、“切换文件夹”按钮,用于切换到代码窗口、窗体设计器窗口和工程资源管理器的文件夹显示方式。

6.窗体设计器窗口

窗体设计器用来设计应用程序的界面,如图1-2中间部分所示。可以在窗体中添加控件、图形、图片等来创建所需的窗体界面。应用程序中每一个窗体都有自己的窗体设计器图1-5 工程资源管理器

窗口,每个窗体必须有一个窗体名字,缺省的窗体名字为Form1、Form2……等。

除了一般窗体外,还有一种MDI窗体,它可以包含子窗体,每个子窗体都是独立的。MDI窗体将在后面做专门介绍。

7.属性窗口

属性窗口中列出了对选定的窗体或控件的属性设置值。属性是指对象的特征,如颜色、字体、大小等。

窗体和控件的属性值可以在属性窗口中设置,也可以在程序运行中通过程序代码来设置。如图1-6所示的属性窗口由如下元素组成:

(1) 对象列表:显示可设置属性的对象名称。单击右边下三角按钮,可打开当前窗体的对象列表。

图1-6 属性窗口

(2) 属性排序方式:分“按字母序”和“按分类序”两个选项卡。

(3) 属性列表:左列显示所选对象的全部属性,右列显示相应属性值。当选定一个属性后,可在右列对其属性值进行重新设置或修改。

(4) 属性含义说明:属性窗口最下方显示当前所选属性的含义。

8.代码窗口

代码窗口用于输入和编辑应用程序代码。应用程序的每个窗体或模块都有一个单独的代码窗口,如图1-7所示。

图1-7 代码窗口

不管是对象的事件过程,还是用户自定义的子过程或函数过程,都要由代码窗口来编写程序。打开代码窗口的方式有三种:

(1) 从工程资源管理器窗口中选择一个窗体或标准模块,并单击“查看代码”按钮。

(2) 从窗体设计器窗口中双击窗体或某个控件,打开代码窗口。

(3) 选择菜单命令“视图”/“代码窗口”,打开代码窗口。

9.窗体布局窗口

窗体布局窗口允许用户使用表示屏幕的小图像来布置应用程序中各窗体运行时的初始位置,如图1-8所示。主要为使开发的应用程序能在各个不同分辨率的屏幕上正常运行,在多窗体应用程序设计时较为有用。

10.对象浏览器窗口

6

对象浏览器窗口列出工程中可用的对象,如图1-9所示。既可在此窗口查看工程中定义的模块或过程,也可查看对象库、类型库、类、方法、属性、事件以及可以在过程中使用的常数。

图1-8 窗体布局窗口 图1-9 对象浏览器窗口

11.立即窗口、本地窗口和监视窗口

这些附加窗口主要用于调试应用程序。立即窗口提供一个人机交互的界面,只要将单独的语句作为命令输入到立即窗口,键入回车键后就可使命令得到立即执行。例如当你要了解开方函数Sqr的功能,你可以在立即窗口中键入命令“? sqr(9)”并回车,这时你会见到立即窗口中显示出执行结果“3”。这里体现了VB保留着传统BASIC语言的交互性特点,其中所使用的问号“?”与输入“print”是等价的,这也是传统BASIC语言的特点。

后两个窗口只有在运行应用程序时才有效。当应用程序运行时,可以中断程序的执行并使用立即窗口来检查或改变程序中变量的值,并在立即方式下执行VB命令;也可以在程序运行之前,选择菜单命令“调试”/“添加监视”,然后在对话框的表达式框中输入表达式,例如,输入“a*2”。在程序运行过程中中断其执行,就可以查看监视窗口中表达式的值。这在调试程序过程中是非常有用的。

1.4 VB的基本概念

VB中的基本概念是学习VB程序设计必须掌握的基本知识。在正式学习VB编程语言之前,让我们首先来熟悉一下VB的这些常用的基本概念。下面介绍VB在面向对象程序设计中的一些基本概念。

1.4.1 可视化编程

英文“Visual”的原意是“可视的”,在VB这里指的是使用最直观的编程工具,意思是说无需编程,就可以完成界面外观的设计。

在VB中引入了控件的概念,控件的身影在Windows环境中无处不在,例如,各种按钮、文本框、列表框等等,都是VB的基本控件。VB把这些控件模式化,提供设置控件的属性来控制其外观和行为。你只要轻松地点击鼠标器,就可以绘制出各种控件,就像在一块画板上画图一样简单直观,这是传统程序设计语言所无法相比的。

当然,可视化编程并不意味着从此就可以不必编写程序代码,只是说可以将界面设计的

7

代码节省起来,编程人员只需集中精力去设计相应事件发生的程序代码就可以了。例如,当我们单击一个命令按钮,单击后要它做什么事情,这段程序还是要由我们自己来编写的。

1.4.2 对象和类

什么是对象?广义地说,对象是各种事物。对VB环境来说,对象是程序设计的核心,是程序设计可以控制的实体,是系统提供给用户直接使用的输入、输出工具。它包括窗体、控件、菜单项、数据库、Excel图表、屏幕(Screen)、打印机(Printer)、剪贴板(Clipboard)及当前编写的应用程序(App)等等。

VB中的对象通常有三个基本特征,即属性、事件和方法。

类是创建对象实例的模板,是同种对象的集合与抽象,它包含对所创建对象的属性描述和行为特征的定义。VB中的类基本上是由系统提供的,但也可由程序员自己设计。

面向对象的程序设计主要是建立在类和对象的基础上。在VB工具箱上我们可以看到各种可视类图标,这是由VB系统预先设计好的标准控件类。此外,还可以通过菜单命令“工程”/“部件”,在工具箱中加入大量其他的ActiveX控件。通过将类实例化,可得到真正的控件对象。

1.4.3 窗体

窗体是开发人员在设计应用程序界面时所用的窗口或对话框。在VB中,窗体是应用程序最基本的构造模块,是存放控件的容器。当程序运行时,它是用户与程序进行交互操作的实际窗口。图1-2中的Form1就是用户正在进行设计的窗体。

1.4.4 控件

控件是可以放置在窗体上的图形化对象,它和窗体一样可以作为用户与计算机之间的交互界面,都是组成用户界面的基本元素。

我们通常用控件来接收和显示数据信息,有的控件用来控制操作。

可以将控件分成三类:

1.内部控件:一开始出现在工具箱上的控件。我们经常使用的内部控件有:命令按钮、文本框、标签、复选框、单选按钮、列表框、组合框、框架、滚动条、图片框、图像框等等。

2.ActiveX控件:是扩展名为.ocx的独立文件,其中包括各种VB版本提供的控件和仅在专业版和企业版中提供的控件,另外还有许多第三方提供的控件。这类控件必要时可随时添加到工具箱中,也可以从工具箱中将其删除。

3.可插入的对象:例如一个插入到VB程序中的Microsoft Excel工作表对象,或一个包含某项目计划信息的Microsoft Project日历对象。因为这些对象相应的类可以添加到工具箱中,所以可以将其作为控件来使用。这类对象也可随时在工具箱中增删。

8

1.4.5 属性

属性用来定义对象的特征。各类对象中都有默认的属性值,设置对象的属性是为了使对象符合应用程序的需要。通常反映对象外观特征的一些不变的属性应在设计阶段中完成,一些可变的属性则留在以后的编程中实现。

属性还可确定一个对象的行为。例如,一个命令按钮的Enabled属性被设为False后,当用户在该命令按钮上单击,将不会触发该命令按钮的Click事件。

大部分对象属性都是既可以通过属性窗口来设置,也可以通过程序代码来设置,但有些对象属性只能在属性窗口中设置,例如:对象的名称及控件的Index属性。

在程序代码中对属性的引用格式要使用点运算符“.”,其格式为:

对象名.属性名

例如,对Command1控件对象设置其Enabled属性值为False:

d=False

1.4.6 事件

事件是由用户或系统触发、预先设置好的、可被对象识别的动作。在VB中,系统为每个对象预先定义好一系列的事件,例如,文本框控件可以有单击(Click)、双击(DblClick)、改变(Change)等事件。对于不同的对象,所能感应到的事件也会不同,例如,命令按钮就没有DblClick事件。

VB应用程序是事件驱动的,当在对象上发生了事件后,应用程序就要处理这个事件,而处理的步骤就构成事件过程。通过事件过程可以控制对象对触发的事件作出相应的响应。事件过程是特定事件发生时执行的程序代码,它的格式由系统预先定义好,其中,过程名是由对象名、下划线和事件名组成的,其格式为:

[Private | Public | Friend] [Static] Sub 对象名_事件名 (参数)

{

用户编写的事件响应时要执行的代码

}

End Sub

1.4.7 方法

方法是对象可执行的特定操作,是面向对象程序设计语言为程序设计人员提供的一种特殊的过程,它是嵌入在对象定义中的程序代码,定义了对象如何处理信息并响应某个事件。与事件过程不同,事件过程是需要用户去编写的,而方法,是不必用户编写代码的。在VB中,已将一些通用的过程编写好并封装起来,作为方法提供用户直接调用,这给用户的编程带来了很大方便。因为方法是面向对象的,因此在调用时一定要使用对象名。

与对象属性类似,在程序代码中对对象方法的调用格式要使用点运算符“.”,其格式为:

[对象名].方法名 [参数表]

9

其中,若省略对象名,则表示为当前对象,一般指当前窗体对象。

例如:

Print "Hello, World!"

相当于

"Hello, World!"

本章小结

本章主要介绍VB的发展概况和VB所具有的特点;启动VB后所见到的VB集成开发环境;作为程序设计的基础,还重点介绍了VB在面向对象程序设计中的一些基本概念。通过本章的学习,要掌握启动和退出VB的方法;了解VB集成开发环境的菜单栏和工具栏,了解哪些是常用的命令;了解窗体设计器窗口、属性窗口、代码窗口和工程管理器窗口的使用;理解本章所介绍的一些术语、名词及基本概念。

本章重点:了解VB的特点;掌握启动和退出VB的操作;熟悉VB编程环境,如窗体设计器窗口、属性窗口、代码窗口和工程管理器窗口等;掌握VB的基本概念。

本章难点:对象、类、事件等概念的理解;可视化程序设计;面向对象程序设计;事件驱动编程机制。

第一章习题

一、单选题

1. VB6.0有三种版本,下面不属于这三种版本的是

A. 学习版 B. 试用版 C. 企业版 D. 专业版

2. VB有三种工作模式,其中不包括

模式。

A. 编辑 B. 设计 C. 运行 D. 中断

3. 启动VB后,系统为用户新建的工程起一个名为

的临时名称。

A. 工程1 B. 窗体1 C. 工程 D. 窗体

4. 进入VB集成环境后,显示的工具栏是

A. 编辑工具栏 B. 标准工具栏 C. 调试工具栏 D. 窗体工具栏

5. 下面叙述中有错误的是

A. VB6.0新增了ADO Data数据库控件 B. VB6.0的帮助信息要从另一张盘上安装

C. VB工具箱中的工具图标是不能添加的 D. 可以从工程资源管理器打开代码窗口

6. 在程序中,如果对象的名称为Object1,而且对象有一个属性p,那么在代码中引用该属性的正确格式是

A. 1 B. Object1.p C. Object1(p) D. Object1*p

7. 在设计应用程序时,通过

窗口可以查看到工程所有的组成部分。

A. 窗体设计器 B. 代码 C. 属性 D. 工程资源管理器

8. 双击窗体任何地方,可以打开的窗口是

A. 代码窗口

C. 工程资源管理器窗口

10

B. 属性窗口

D. 以上三个选项都不对

9.通过以下 窗口可以在设计时直观地调整窗体在屏幕上的位置。

A. 代码 B.窗体布局 C. 窗体设计器 D. 属性

10.在程序设计中,通过

窗口可以设置窗体以及窗体中各个控件的属性。

A. 代码 B.窗体布局 C. 窗体设计器 D. 属性

二、问答题

1. 运行VB6.0至少需要怎样的硬件环境?

2. 如何使VB6.0集成开发环境中各窗口显示或不显示?

3. 打开代码窗口有哪三种方法?

4. 什么是“事件驱动”?

5. 描述对象的属性或方法,都需要使用什么样的运算符?

11


本文标签: 对象 控件 窗体 属性 设计