VisualBasic6.0程序设计教程(第3版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-03 07:00:08

点击下载

作者:罗朝盛主编

出版社:高等教育出版分社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

VisualBasic6.0程序设计教程(第3版)

VisualBasic6.0程序设计教程(第3版)试读:

第3版前言

本书第2版自2005年7月由人民邮电出版社出版以来,受到广大读者的欢迎,被全国五十多所各类高等学校选为教材,在两年多时间里,先后10多次重印,与教材配套的实验CAI系统也推广到很多高校,得到了不少专家、教师和学生的好评。2007年本教材入选普通高等教育“十一五”国家级规划教材。按照规划教材的要求,结合近几年的教学实践以及广大读者和教师提出的意见和建议,我们对本教材进行了修订,推出第3版。本次修订保持了第1、2版的写作风格和特色,优化调整了部分章节内容,对部分章节内容进行了删减、充实。

本书第3版与第2版相比,主要做了以下几方面的调整。(1)将第2版的15章调整为12章,将原第7章内容合并到第6章,原第12章合并到第8章,原第15章改作为附录内容,原第10章和第11章内容的顺序交换,原第 13 章和第 14章内容的顺序交换。调整后各章顺序是:Visual Basic 6.0概述、简单的 Visual Basic 程序设计、Visual Basic 语言基础、3 种基本结构的程序设计、数组及应用、过程与函数、常用控件与系统对象、文件、图形操作、对话框与菜单程序设计、多文档界面与工具栏设计、数据库编程基础。这些调整使得本书更适合教学实际。(2)根据教学实际,删减、充实了部分章节。各章内容和文字均细致地进行了修改,使读者更容易理解与掌握。(3)精选和充实教材的例题。例题是为帮助读者理解、掌握教学内容而设计的程序范例,此次修订更换了部分例题,对原有例题的程序代码进行优化,使读者更容易阅读理解。对大部分例题都给出了编程分析;在例题最后,针对一些要求学生掌握并容易出错的问题提出了“思考与讨论”,使读者通过阅读这些例题,能够做到举一反三,加深对所学内容的理解和掌握,提高编程能力。(4)注重应用与适用,充实了习题与实验。更换了一些与教学内容关联性不大的习题,在习题中增加了一些与界面设计关系不大,且方便书写在作业本上的编程题,以方便教师布置作业。对第2版教材的实验进行了较大的修改,使之更具有可操作性和实践性,以培养学生程序调试的能力。(5)构建“多元化”、“立体化”教材体系。修改、完善了与本书配套的“任务驱动”的实验CAI系统,修改了教学使用的电子课件。与教材有关的教学辅导资料放在作者自己的个人教学网站(http://www.csluo.com)和人民邮电出版社教学服务与资源网(http://www.ptpedu.com.cn)上,方便读者浏览与下载。

我们相信,此次修订后的教材,更适合教师的教学和读者的学习。

本次修订由罗朝盛提出修改思路和修订方案,并最后修改定稿。参与本书编写工作的有魏英、郭招娣、余文芳、余平等。在本书的修改过程中得到了浙江大学俞瑞钊教授,杭州电子科技大学胡维华教授,浙江工业大学陈庆章教授、胡同森教授,杭州师范大学詹国华教授,温州大学白宝钢教授,广东工业大学郑玲利副教授,河南广播电视大学裘佩珍副教授等专家及浙江科技学院信息学院计算机基础教学部全体教师的帮助和支持,他们对本书提出了不少有益的建议,在此一并表示衷心的感谢。

本书可作为各类高等院校计算机专业、理工科非计算机专业学习 Visual Basic 程序设计的教材,也可供相关工程技术人员和计算机爱好者参考。

本书虽经反复修改,但限于作者水平,不当之处仍在所难免,谨请广大读者指正。编者2008年12月

出版者的话

计算机应用能力已经成为社会各行业从业人员最重要的工作技能要求之一,而计算机教材质量的好坏会直接影响人才素质的培养。目前,计算机教材出版市场百花争艳,品种急剧增多,要从林林总总的教材中挑选一本适合课程设置要求、满足教学实际需要的教材,难度越来越大。

人民邮电出版社作为一家以计算机、通信、电子信息类图书与教材出版为主的科技教育类出版社,在计算机教材领域已经出版了多套计算机系列教材。在各套系列教材中涌现出了一批被广大一线授课教师选用、深受广大师生好评的优秀教材。老师们希望我社能有更多的优秀教材集中地呈现在老师和读者面前,为此我社组织了这套“21世纪高等学校计算机规划教材——精品系列”。

本套教材具有下列特点。(1)前期调研充分,适合实际教学需要。本套教材主要面向普通本科院校的学生编写,在内容深度、系统结构、案例选择、编写方法等方面进行了深入细致的调研,目的是在教材编写之前充分了解实际教学的需要。(2)编写目标明确,读者对象针对性强。每一本教材在编写之前都明确了该教材的读者对象和适用范围,即明确面向的读者是计算机专业、非计算机理工类专业还是文科类专业的学生,尽量符合目前普通高等教育计算机课程的教学计划、教学大纲以及发展趋势。(3)精选作者,保证质量。本套教材的作者,既有来自院校的一线授课老师,也有来自IT企业、科研机构等单位的资深技术人员。通过他们的合作使老师丰富的实际教学经验与技术人员丰富的实践工程经验相融合,为广大师生编写出适合目前教学实际需求、满足学校新时期人才培养模式的高质量教材。(4)一纲多本,适应面宽。在本套教材中,我们根据目前教学的实际情况,做到“一纲多本”,即根据院校已学课程和后续课程的不同开设情况,为同一科目提供不同类型的教材。(5)突出能力培养,适应人才市场要求。本套教材贴近市场对于计算机人才的能力要求,注重理论知识与实际应用的结合,注重实际操作和实践动手能力的培养,为学生快速适应企业实际需求做好准备。(6)配套服务完善。对于每一本教材,我们在教材出版的同时,都将提供完备的PPT课件,并根据需要提供书中的源程序代码、习题答案、教学大纲等内容,部分教材还将在作者的配合下,提供疑难解答、教学交流等服务。

在本套教材的策划组织过程中,我们获得了来自清华大学、北京大学、中国人民大学、浙江大学、吉林大学、武汉大学、哈尔滨工业大学、东南大学、四川大学、上海交通大学、西安交通大学、电子科技大学、西安电子科技大学、北京邮电大学、北京林业大学等院校老师的大力支持和帮助,同时获得了来自信息产业部电信研究院、联想、华为、中兴、同方、爱立信、摩托罗拉等企业和科研单位的领导或技术人员的积极配合。在此,向他们表示衷心的感谢。

我们相信,“21世纪高等学校计算机规划教材——精品系列”一定能够为我国高等院校计算机教学做出应有的贡献。同时,对于工作欠缺和不妥之处,欢迎老师和读者提出宝贵的意见和建议。第1章Visual Basic 6.0 概述

本章介绍Visual Basic 6.0 语言、开发集成环境的主要组成部分及其使用。

本章主要任务:(1)了解Visual Basic 6.0 的功能及其特点;(2)掌握Visual Basic 6.0 开发集成环境主要组成部分及其使用;(3)了解Visual Basic 联机帮助功能的使用方法。1.1 中文Visual Basic 6.0简介

Visual Basic 6.0 是Microsoft 公司推出的基于Windows环境的计算机程序设计语言,它继承了Basic 语言简单易学的优点,同时增加了许多新的功能。由于Visual Basic 采用面向对象的程序设计技术,摆脱了面向过程语言的许多细节,而将主要精力集中在解决实际问题和设计友好界面上,使开发Windows应用程序更迅速、简捷。

什么是 Visual Basic?“Visual”指的是开发图形用户界面(GUI)的方法。在图形用户界面下,不需要编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象加到屏幕上的适当位置,再进行简单的设置即可。“Basic”指的是BASIC(Beginners All-Purpose Symbol Instruction Code,初学者通用的符号指令代码)语言,是一种应用十分广泛的计算机语言。Visual Basic 在原有 BASIC 语言的基础上进一步发展,至今包含了数百条语句、函数及关键词,其中很多和Windows GUI 有直接关系。专业人员可以用 Visual Basic 实现其他任何 Windows 编程语言的功能,而初学者只要掌握几个关键词就可以建立简单的应用程序。1.1.1 Visual Basic 的发展

1991年,Microsoft公司推出Visual Basic 1.0版,它虽然存在一些缺陷,但仍受到了广大程序员的青睐。随后,Microsoft公司又分别在1992年、1993年、1995年和1997年相继推出了2.0、3.0、4.0、5.0等多个版本。目前常用的版本Visual Basic 6.0是1998年下半年推出的。Visual Basic 6.0版较以前版本,其功能和性能都大大增强了,它还提供了新的、灵巧的数据库和Web开发工具。

Visual Basic 6.0 有3 种版本,分别为学习版、专业版和企业版。

学习版使编程人员能轻松开发Windows和Windows NT(R)的应用程序。该版本包括所有的内部控件以及网格、选项卡和数据绑定控件。学习版提供的文档有Learn VB Now CD 和包含全部联机文档的Microsoft Developer Network CD。

专业版为专业编程人员提供了一整套功能完备的开发工具。该版本包括学习版的全部功能以及ActiveX 控件、Internet Information Server Application Designer、集成的Visual Database Tools 和Data Environment、Active Data Objects和Dynamic HTML Page Designer。专业版提供的文档有Visual Studio Professional Features 手册和包含全部联机文档的Microsoft Developer Network CD。

企业版使得专业编程人员能够开发功能强大的组内分布式应用程序。该版本包括专业版的全部功能以及Back Office 工具(如SQL Server、Microsoft Transaction Server、Internet Information Server、Visual SourceSafe、SNA Server 以及其他)。企业版提供的文档有Visual Studio Enterprise Features手册以及包含全部联机文档的Microsoft Developer Network CD。

这3个版本是在相同的基础上建立起来的,用以满足不同层次用户的需要。对大多数用户来说,专业版就可以满足要求。本书使用的是Visual Basic 6.0 企业版(中文),而书中介绍的内容尽量做到与版本无关。1.1.2 Visual Basic 的特点

Visual Basic 有以下几个主要的特点。

1.提供了面向对象的可视化编程工具

Visual Basic采用的是面向对象的程序设计方法(OOP),它把程序和数据封装在一起,视作一个对象。设计程序时只需从现有的工具箱中“拖”出所需的对象,如按钮、滚动条等,并为每一个对象设置属性,就可以在屏幕上“画”出所需的用户界面来,因而程序设计的效率可大大地提高。

2.事件驱动的编程方式

传统的程序设计是一种面向过程的方式,程序总是按事先设计好的流程运行,而不能将后面的程序放在前面运行,即用户不能随意改变、控制程序的流向,这不符合人类的思维习惯。在 Visual Basic 中,用户的动作——事件控制着程序的流向,每个事件都能驱动一段程序的运行。程序员只需编写响应用户动作的代码,而各个动作之间不一定有联系,这样的应用程序代码一般比较短,所以程序易于编写与维护。

3.结构化的程序设计

尽管 Visual Basic 是面向对象的程序设计语言,但是在具体的事件或过程编程中,仍是要采用结构化的程序设计。Visual Basic 具有丰富的数据类型和结构化程序结构,而且简单易学。此外,作为一种程序设计语言,Visual Basic 还有以下独到之处:(1)增强了数值和字符串处理功能,和传统的BASIC语言相比有许多改进;(2)提供了丰富的图形及动画指令,可方便地绘制各种图形;(3)提供了定长和动态(变长)数组,有利于简化内存管理;(4)增加了递归过程调用,使程序更为简练;(5)提供了一个可供应用程序调用的包含多种类型的图标库;(6)具有完善的调试、运行出错处理。

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

在 Visual Basic 的集成开发环境中,用户可设计界面、编写代码、调试程序,直至将应用程序编译成可执行文件在Windows上运行,使用户在友好的开发环境中工作。

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

数据访问特性允许对包括 Microsoft SQL Server 和其他企业数据库在内的大部分数据库格式建立数据库和前端应用程序,以及可调整的服务器端部件。利用数据控件可访问Microsoft Access、Dbase、Microsoft FoxPro、Paradox 等,也可以访问Microsoft Excel、Lotusl1-2-3 等多种电子表格。

6.支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入(OLE)

动态数据交换是Microsoft Windows 除了剪贴板和动态链接函数库以外,在Windows内部交换数据的第3 种方式。利用这项技术可使Visual Basic 开发的应用程序与其他Windows应用程序之间建立数据通信。

动态链接库中存放了所有Windows应用程序可以共享的代码和资源,这些代码或函数可以用多种语言写成。Visual Basic 利用这项技术可以调用任何语言产生的DLL,也可以调用Windows应用程序接口(API)函数,以实现SDK所能实现的功能。

对象的链接与嵌入是Visual Basic 访问所有对象的一种方法。利用OLE 技术,Visual Basic 将其他应用软件作为一个对象嵌入到应用程序中进行各种操作,也可以将各种基于Windows的应用程序嵌入到Visual Basic 应用程序中,实现声音、图像、动画等多媒体的功能。

7.完备的联机帮助功能

与Windows 环境下的其他软件一样,在Visual Basic 中,利用帮助菜单和F1 功能键,用户可随时方便地得到所需的帮助信息。Visual Basic 帮助窗口中显示了有关的示例代码,通过复制、粘贴操作可获得大量的示例代码,为用户的学习和使用提供了极大的方便。

另外,Visual Basic 6.0 与以前的版本不同,它是Visual Studio 家族的一个组件,保留了Visual Basic 5.0 的优点,如在开发环境上的改进,增加了工作组,在代码编辑器中提供了控件属性/方法的自动提示,能编译生成本机代码,大大提高程序的执行速度等。同时,Visual Basic 6.0 在数据技术、Internet 技术及智能化向导方面都有了许多新的特性。读者可通过阅读Visual Basic 6.0 的帮助系统来了解新特性。1.2 Visual Basic 6.0的集成开发环境

Visual Basic 集成开发环境(IDE),为用户提供了整套工具,方便用户开发应用程序。它在一个公共环境里集成了许多不同的功能,如设计、编辑、编译和调试。下面介绍Visual Basic 6.0 的集成开发环境。1.2.1 主窗口

当启动Visual Basic 6.0时,可以见到如图1-1所示的“新建工程”窗口,窗口中列出了可建立的工程类型。其中会提示选择要建立的工程类型。使用Visual Basic 6.0可以生成13种类型的应用程序(图中仅看到10种,通过拖动滚动条可看到另外3种)。

在图1-1中的窗口中有以下3个选项卡。图1-1 Visual Basic6.0中可以建立的工程类型(1)新建:这个选项卡中列出了可生成的工程类型,“新建”选项卡中的工程是用户从头开始创建的。(2)现存:这个选项卡中列出了可以选择和打开的现有工程。(3)最新:这个选项卡中列出了最近使用过的工程,用户可以选择和打开一个需要的工程。

选择“新建”选项卡中的“标准EXE”图标并单击“打开”按钮,可以打开如图1-2 所示的Visual Basic 6.0 集成开发环境窗口。图1-2 Visual Basic 6.0集成开发环境

需要说明的是,一般启动时,可能见不到图1-2 中的“立即窗口”。在Visual Basic 集成环境中的其他窗口,都可以通过“视图”菜单中的相应命令来打开和关闭这个窗口。

1.标题栏

标题栏位于主窗口最上面的一行,如图1-3所示。标题栏显示窗口标题及工作模式,启动时显示为“工程1-Microsoft Visual Basic[设计]”,表示Visual Basic 处于程序设计模式。Visual Basic有3种工作模式:设计(Design)模式、运行(Run)模式和中断(Break)模式。图1-3 Visual Basic 6.0集成开发环境的标题栏、菜单栏和工具栏(1)设计模式:可进行用户界面的设计和代码的编制,以完成应用程序的开发。(2)运行模式:运行应用程序,这时不可编辑代码,也不可编辑界面。处于这种模式时,标题栏中的标题为“工程 1-Microsoft Visual Basic [运行]”。(3)中断模式:应用程序运行暂时中断,这时可以编辑代码,但不可编辑界面。此时,标题栏中的标题为“工程1MicrosoftVisualBasic[中断]”。按F5键或单击工具栏的继续按钮,程序继续运行;单击结束按钮,程序停止运行。在此模式下会弹出“立即”窗口,在“立即”窗口内可输入简短的命令,并立即执行。

2.菜单栏

Visual Basic 集成开发环境的菜单栏中包含使用Visual Basic 所需要的命令。它除了提供标准“文件”、“编辑”、“视图”、“窗口”和“帮助”菜单之外,还提供了编程专用的功能菜单,如“工程”、“格式”、“调试”、“外接程序”等13个菜单,如图1-3所示。

Visual Basic 6.0 集成开发环境中的基本菜单如下。(l)文件:包含打开和保存工程以及生成可执行文件的命令。(2)编辑:包含编辑命令和其他一些格式化、编辑代码的命令,以及其他编辑功能命令。(3)视图:包含显示和隐藏IDE元素的命令。(4)工程:包含在工程中添加构件、引用Windows对象和工具箱新工具的命令。(5)格式:包含对齐窗体控件的命令。(6)调试:包含一些通用的调试命令。(7)运行:包含启动、设置断点和终止当前应用程序运行的命令。(8)查询:包含操作数据库表时的查询命令以及其他数据访问命令。(9)图表:包含操作Visual Basic 工程时的图表处理命令。(10)工具:包含建立ActiveX控件时需要的工具命令,并可以启动菜单编辑器以及配置环境选项。(11)外接程序:包含可以随意增删的外接程序。缺省时这个菜单中只有“可视化数据管理器”选项。通过“外接程序管理器”命令可以增删外接程序。(12)窗口:包含屏幕窗口布局命令。(13)帮助:提供相关帮助信息。

3.工具栏

工具栏在编程环境下提供对于常用命令的快速访问。单击工具栏上的按钮,即可执行该按钮所代表的操作。按照默认规定,启动 Visual Basic 之后将显示“标准”工具栏。其他工具栏,如“编辑”、“窗体设计”和“调试”工具栏可以通过“视图”菜单中的“工具栏”命令移进或移出。工具栏能紧贴在菜单栏下方,或以垂直条状紧贴在左边框上。如果用鼠标将它从某栏下面移开,则它能“悬”在窗口中。一般工具栏在菜单栏的正下方,如图1-3所示。1.2.2 窗体设计窗口“窗体设计窗口”也称为对象窗口。Windows 的应用程序运行后都会打开一个窗口,窗体设计窗口是应用程序最终面向用户的窗口,是屏幕中央的主窗口。通过在窗体中添加控件并设置相应的属性来完成应用程序界面的设计。每个窗口必须有一个窗体名称,系统启动后就会自动创建一个窗体(默认名为 Form1)。用户可通过“工程/添加窗体”来创建新窗体或将已有的窗体添加到工程中。程序每个窗体保存后都有一个窗体文件名(扩展名为.frm)。注意窗体名即窗体的“Name”属性和窗体文件名的区别。1.2.3 工具箱

系统启动后默认的 General 工具箱就会出现在屏幕左边,其中每个图标表示一种控件,常用的有20个,如图1-4所示。图1-4 VB工具箱中的常用控件类型

用户可以将不在工具箱中的其他ActiveX控件放到工具箱中。通过“工程”菜单中的“部件”命令或从“工具箱”快捷菜单中选定“部件”选项卡,就会显示系统安装的所有ActiveX控件清单。要将某控件加入到当前选项卡中,单击要选定控件前面的方框,然后单击“确定”按钮即可,如图1-5所示。图1-5 “部件”对话框1.2.4 工程资源管理器

工程是指用于创建一个应用程序的文件的集合。工程资源管理器列出了当前工程中的窗体和模块,如图1-6所示。图1-6 工程资源管理器

在工程资源管理器窗口中有3个按钮,分别表示“查看代码”、“查看对象”和“切换文件夹”。

单击“查看代码”按钮,可打开“代码编辑器”查看代码。

单击“查看对象”按钮,可打开“窗体设计器”查看正在设计的窗体。

单击“切换文件夹”按钮,则可以隐藏或显示包含在对象文件夹中个别项目列表。1.2.5 属性窗口

属性是指对象的特征,如大小、标题或颜色等。在Visual Basic 6.0 设计模式中,属性窗口列出了当前选定窗体或控件的属性及其值,用户可以对这些属性值进行设置。例如,要设置Command1命令按钮上显示的字符串,可以找到属性窗口的“Caption”属性,输入“开始”之类的字符串,如图1-7所示。图1-7 属性设置窗口1.2.6 窗体布局窗口

窗体布局窗口显示在屏幕右下角。用户可使用表示屏幕的小图像来布置应用程序中各窗体的位置。这个窗口在多窗体应用程序中很有用,因为通过它可以指定每个窗体相对于主窗体的位置。图1-8所示为桌面上两个窗体及其相对位置。右键单击小屏幕,弹出“快捷菜单”,可通过该“快捷菜单”设计窗体启动位置,如要设计窗体 Form1 启动位置居于屏幕中心,其操作如图 1-9所示。图1-8 窗体布局窗口图1-9 设计窗体启动位置1.2.7 代码编辑器窗口

在设计模式中,通过双击窗体或窗体上的任何对象或单击“工程资源管理器”窗口中的“查看代码”按钮都可打开代码编辑器窗口。代码编辑器是输入应用程序代码的编辑器,如图1-10所示。应用程序的每个窗体或标准模块都有一个单独的代码编辑器窗口。图1-10 代码编辑器窗口1.2.8 立即窗口

在Visual Basic 集成开发环境IDE 中,运行“视图/立即窗口”命令或使用快捷键“Ctrl+G”,即可打开如图1-11所示的立即窗口。

立即窗口是Visual Basic 所提供的一个系统对象,也称为Debug 对象,供调试程序使用。它只有方法,不具备任何事件和属性,通常使用的是Print方法。

在设计状态下,可以在立即窗口中进行一些简单的命令操作,如给变量赋值,用“?”或Print (两者等价)输出一些表达式的值。

例如:

在立即窗口中使用赋值符给变量赋值,即输入:

X=3.14:Y=2:Z=30:P=True: K=False

使用“?表达式”或“Print 表达式”输出其表达式的值。操作如下:

? X+Y

5.14      ' 输出结果

Print Int(X)+Y/2

4       ' 输出结果

? Not P Or K And P Or Y>Z

False      '输出结果

操作结果如图1-12所示。图1-11 立即窗口图1-12 在立即窗口中操作实例

此外,Visual Basic 6.0 中还有两个非常有用的附加窗口:本地窗口和监视窗口。它们都是为调试应用程序提供的,它们只在运行工作模式下才有效。1.3 Visual Basic 6.0帮助系统的使用

Visual Basic 系统为用户提供了完备的帮助功能。从Visual Studio 6.0 开始,所有的帮助文件都采用全新的MSDN(Microsoft Developer Network)文档的帮助方式。MSDN Library 中包含了1GB的内容,存放在两张CD盘上。涉及的内容包括上百个示例代码、文档、技术文章、Microsoft开发人员知识库等。用户可通过运行第一张盘上的Setup.exe 程序,并通过“用户安 装”选项将MSDN Library 安装到计算机中。1.3.1 使用 MSDN Library 查阅器

在Visual Basic 6.0 中,选择“帮助”菜单的“内容”或“索引”菜单项,即可打开“MSDN Library Visual Studio 6.0”窗口,如图1-13 所示。其中,“目录”选项卡列出了一个完整的主题分级列表,通过目录树可查找信息;“索引”选项卡可用来以索引方式通过索引表查找信息;“搜索”选项卡可用来通过全文搜索查找信息。图1-13 “MSDN Library Visual Studio 6.0”窗口1.3.2 上下文帮助

Visual Basic 的许多部分是上下文相关的。上下文相关意味着不必搜寻“帮助”菜单就能直接获得有关这些部分内容的帮助。例如,为了获得有关Visual Basic 语言中关键词Select Case的帮助,只需将插入点置于“代码”窗口中的关键词Select Case 上并按F1 键,即可进入与Select Case有关的帮助内容,如图1-14所示。图1-14 MSDN帮助窗口

在Visual Basic 界面的任何上下文相关部分按F1 键,就可显示有关该部分的信息。上下文相关部分包括:

● Visual Basic 中的每个窗口(“属性”窗口、“代码”窗口等);

● 工具箱中的控件;

● 窗体或文档对象内的对象;

● “属性”窗口中的属性;

● Visual Basic 关键词(语句、声明、函数、属性、方法、事件和特殊对象);

● 错误信息。1.3.3 运行所提供的样例

Visual Basic提供了上百个实例,对学习、理解、掌握Visual Basic有很大的帮助。与Visual Basic 5.0不同,Visual Basic 6.0中,在安装MSDN时,这些实例默认安装在\Program Files\Microsoft Visual Studio \MSDN98\98vs\2052\Samples\VB98\子目录中。在该子目录下,又以不同的子目录存放了许多实例工程,用户只要打开所需的工程,就可运行并观察其效果,也可查看代码学习各控件的使用方法和编程思路。

当需要时,可以同已建立的工程文件一样,通过“文件”菜单的“打开工程”命令,根据实例安装的路径,打开所需的实例。本章小结

本章重点介绍Visual Basic集成开发环境。希望读者参照1.2节的内容,上机使用Visual Basic的集成环境,初步了解Visual Basic提供的集成开发环境(IDE)的使用,理解可视化程序设计的特点。习题

一、思考题

1.简述Visual Basic 的功能特点及Visual Basic 6.0 的特点。

2.Visual Basic 6.0 有几个版本?它们之间有哪些差别?

3.Visual Basic 6.0 开发环境有什么特点?要显示各窗口,如属性窗口、工程管理窗口、窗体布局窗口及立即窗口,如何操作?

4.在Visual Basic 6.0 的集成开发环境中,立即窗口的作用是什么?

5.如何获得Visual Basic 6.0 系统的帮助功能?

6.Visual Basic 的有哪3 种工作模式?它们有何特点?在哪些情况下可进入中断模式?

二、选择题

1.以下说法错误的是______。

A.Visual Basic 是一种可视化编程工具

B.Visual Basic 是面向对象的编程语言

C.Visual Basic 是结构化程序设计语言

D.Visual Basic 采用事件驱动编程机制

2.相对于传统编程语言,VisualBasic最突出的特点是______。

A.可视化编程    B.面向对象的程序设计

C.结构化程序设计   D.事件驱动编程机制上机实验

1.如果条件允许,自己动手安装Visual Basic6.0 系统。

2.启动Visual Basic6.0 系统,按照本书1.2 节内容,对Visual Basic 集成开发环境中主要窗口的操作做初步了解。第2章简单的Visual Basic 程序设计

在第1 章中介绍了Visual Basic 的特点及集成开发环境,对Visual Basic 开发工具有了初步了解。本章介绍 Visual Basic 的一些基本概念,几个常用控件的属性、事件和方法,并通过一个简单例子说明Visual Basic 应用程序设计的一般过程。

本章主要任务:(1)理解面向对象程序设计的方法;(2)掌握窗体对象的常用属性、事件和方法及其使用;(3)掌握文本框、标签和命令按钮控件的常用属性、事件和方法及其使用;(4)掌握Visual Basic 应用程序的组成;(5)掌握开发Visual Basic 应用程序的一般步骤。2.1 Visual Basic 中的一些基本概念

在用Visual Basic 进行程序设计之前,首先要正确理解Visual Basic 的对象、属性、事件、方法等几个重要概念。正确理解这些概念是设计Visual Basic 应用程序的基础。2.1.1 对象与类

对象(Object)是代码和数据的集合。现实生活中的一个实体就是一个对象,如一支钢笔、一辆汽车、一台计算机都是一个对象。一台计算机可以拆分为主板、CPU、内存、外设等部件,这些部件又都分别是对象,因此计算机对象可以说是由多个“子”对象组成的,它可以称为是一个对象容器(Container)。

在Visual Basic 6.0 中,对象可以由系统设置好,直接供用户使用,也可以由程序员自己设计。Visual Basic 设计好的对象有窗体、各种控件、菜单、显示器、剪贴板等。用户使用最多的是窗体和控件。

类是同种对象的集合与抽象,是一个整体概念,也是创建对象实例的模板,而对象则是类的实例化。类与对象是面向对象程序设计语言的基础。

下面以“汽车”为例,说明类与对象的关系。

汽车是一个笼统的名称,是整体概念,我们把汽车看成一个“类”,一辆辆具体的汽车(如你的汽车、我的汽车)是这个类的实例,是属于这个类的对象。

严格地说,工具箱的各种控件并不是对象,而是代表了各个不同的类。通过类的实例化,可以得到真正的对象。当在窗体上放置一个控件时,就将类转换为对象,即创建了一个控件对象,简称为控件。

例如,图2-1中左边工具箱上凸起的矩形块即命令按钮,代表 CommandButton 类,它确定了CommandButton 的属性、方法和事件。窗体上显示的是两个CommandButton对象,是类的实例化,它们继承了CommandButton类的特征,也可以根据需要修改各自的属性,如字体、颜色、大小等。图2-1 Visual Basic中的类与对象2.1.2 属性

对象中的数据保存在属性中。属性是用来描述和反映对象特征的参数。例如,“控件名称”(Name)、“颜色” (Color)及“是否可见”(Visible)等属性决定了对象展现给用户的界面具有什么样的外观及功能。不同的对象具有不同的属性,如命令按钮有“Caption”属性而无“Text”属性,文本框无“Caption”属性而有“Text”属性。

在设计应用程序时,通过改变对象的属性值来改变对象的外观和行为。对象属性的设置可以通过以下两种方法来实现。(1)在设计阶段,选中某对象,利用属性窗口直接设置对象的属性。(2)在程序代码中通过赋值实现,其格式为:

对象.属性=属性值

例如,给一个对象名为“Lable1”的标签的“Caption”属性赋值为字符串“请输入字符”,在程序代码中的书写格式为:

Lable1.Caption="请输入字符"2.1.3 事件及事件过程

1.事件

事件即对象响应的动作,是 Visual Basic 预先定义的对象能识别的动作。每个对象都有一系列预先定义好的对象事件,如鼠标单击(Click)、双击(DblClick),对象失去焦点(LostFocus)、获取焦点(GetFocus)等。对象与对象之间、对象与系统之间及对象与程序之间的通信都是通过事件来进行的。例如窗体上有一个名为“CmdHide”的命令按钮对象,当鼠标在该对象上单击时,系统跟踪到指针所指的对象上,并给该对象发送一个 Click 事件,系统则执行这个代码所描述的过程。执行结束后,控制权交还给系统,并等待下一个事件。

2.事件过程

事件过程是指附在该对象上的程序代码,是事件的处理程序,用来完成事件发生后所要做的动作。

对于窗体对象,其事件过程的形式如下:

Private Sub Form_事件过程名[(参数列表)]

…(事件过程代码)

End Sub

例如,对于窗体的单击事件编写了如下代码,当程序运行后,单击窗体,即在窗体中打印输出两个数据之和。

Private Sub Form_Click()

Dim X As Integer, Y As Integer, Z As Integer ' 定义变量

X=20: Y=30

Z=X+Y

Print "Z=": Z       '打印输出

End Sub

对于除窗体以外的对象,其事件过程的形式如下:

Private Sub 对象名_事件过程名[(参数列表)]

…(事件过程代码)

End Sub

例如,单击名为“cmdHide”的命令按钮,使命令按钮变为不可见,则对应的事件过程如下:

Private Sub cmdHide_Click()

CmdHide.Visible=False

End Sub

Visual Basic 具有可视化的编程机制,在程序设计时,可按要求“画”出各种对象来设计图形用户界面,程序员只需编写各对象要完成相应功能的程序。实际上,在图形用户界面的应用程序中,是由用户的动作即事件控制着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只需编写响应用户动作的代码,而各个动作之间不一定有联系。这样的应用程序代码一般较短,程序既易于编写又易于维护。这种事件驱动的编程机制是非常适合图形用户界面的编程方式,是Visual Basic 的一个突出特点。2.1.4 方法

方法是面向对象程序设计语言为编程者提供的用来完成特定操作的过程和函数。在 VisualBasic中已将一些通用的过程和函数编写好并封装起来,作为方法供用户直接调用,这给用户的编程带来了极大的方便。因为方法是面向对象的,所以在调用时一定要指明对象。对象方法的调用格式为:

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

其中,若省略了对象,表示是当前对象,一般指窗体。

例如,在窗体Form1上打印输出“VB程序设计”,可使用窗体的Print方法:

Form1.Print " VB程序设计"

若当前窗体是Form1,则可写为:Print " VB程序设计"。

在 Visual Basic 中,窗体和控件是具有自己的属性、方法和事件的对象。可以把属性看作对象的性质,把方法看作对象的动作,而把事件看作对象的响应。

举个日常生活中简单的例子有助于理解这些抽象的概念。例如你对同伴说:“请把那辆蓝色的别克 2000 型轿车开过来”,其实这句话里就包含了 Visual Basic 的对象、属性和方法,其中对象就是那辆“轿车”,也就是这件事情中的目标物;“蓝色”、“别克2000型”是用来描述轿车特征的,它就是轿车的属性;“开过来”就是对轿车实施的处理,即方法。2.2 窗体的常用属性、方法和事件

窗体(Form)也就是平时所说的窗口,它是Visual Basic编程中最常见的对象,也是程序设计的基础。窗体是所有控件的容器,各种控件对象必须建立在窗体上,一个窗体对应一个窗体模块。2.2.1 属性

窗体属性决定了窗体的外观与操作。同 Windows环境下的应用程序窗口一样,Visual Basic中的窗体在默认设置下具有控制菜单、最大化/还原按钮、最小化按钮、关闭按钮、边框等,如图2-2所示。图2-2 窗体外观

窗体的许多属性既可以通过属性窗口设置,也可以在程序中设置。有些属性(如 MaxButton、BorderStyle等会影响窗体外观的属性)只能在设计状态设置。有些属性(如 CurrentX、CurrentY 等属性)只能在运行期间设置。

1.窗体的基本属性

窗体的基本属性有Name、Left、Top、Height、Width、Visible、Enabled、Font、ForeColor、Backcolor 等。在Visual Basic 中的大多数控件基本上都有这些属性。(1)Name 属性。Visual Basic 中任何对象都有Name属性,在程序代码中就是通过该属性来引用、操作具体对象的。

首次在工程中添加窗体时,该窗体的名称被默认为Form1;添加第2个窗体,其名称被默认为Form2,照此类推。最好给Name属性设置一个有实际意义的名称,如给一个程序的主控窗体命名为“MainFrm”。这样在程序代码中的意义就很清楚,也会增强程序的可读性。(2)Left、Top属性。窗体运行在屏幕中,屏幕是窗体的容器,因此窗体的Left、Top属性值是相对屏幕左上角的坐标值。对于控件,Left、Top属性值则是相对“容器”左上角的坐标值,其默认单位是twip。

1twip=1/20点=1/1440英寸=1/567厘米(3)Height、Width属性。返回或设置对象的高度和宽度。对于窗体,指的是窗口的高度和宽度,包括边框和标题栏。对于控件,这些属性使用控件所在“容器”的度量单位。

屏幕(Screen)、窗体(Form1)和命令按钮(OK)的 Left、Top 、Height、Width 属性表示如图 2-3 所示,读者要注意,Left、Top 属性值是相对“容器”左上角的坐标值。在 Visual Basic中除了屏幕、窗体可作为“容器”外,还有框架和图片框对象可作为“容器”。

例2.1 在窗体Form1 被加载时,将其大小设置为屏幕大小的75%,并居中显示。通过窗体的Load事件来实现的程序代码为:

Private Sub Form_Load ()

Form1.Width=Screen.Width * .75   '设置窗体的宽度

Form1.Height=Screen.Height * .75  '设置窗体的高度

' 在水平方向上居中显示

Form1.Left=(Screen.Width - Form1.Width) / 2

' 在垂直方向上居中显示

Form1.Top=(Screen.Height - Form1.Height) / 2

End Sub图2-3 对象的Left、Top、Height、Width属性(4)Caption 标题属性。决定出现在窗体的标题栏上的文本内容,也是当窗体被最小化后出现在窗体图标下的文本。图2-2中窗体的Caption属性值是“VB窗体”。(5)字体Font属性组。

FontName属性是字符型,决定对象上正文的字体(默认为宋体)。

FontSize属性是整型,决定对象上正文的字体大小。

FontBold属性是逻辑型,决定对象上正文是否是粗体。

FontItalic属性是逻辑型,决定对象上正文是否是斜体。

FontStrikeThru属性是逻辑型,决定对象上正文是否加删除线。

FontUnderLine属性是逻辑型,决定对象上正文是否带下划线。

● FontName 属性。返回或设置对象中显示文本所用的字体。该属性的默认值取决于系统, Visual Basic 中可用的字体取决于系统的配置、显示设备和打印设备。与字体相关的属性只能设置为真正存在的字体的值。

● FontSize 属性。返回或设置对象中显示文本所用的字体的大小。Visual Basic 中以磅为单位指定字体尺寸。

● FontBold、FontItalic、FontStrikethru、FontUnderline属性。按下述格式返回或设置字体样式:Bold、Italic、和Underline。对于图片框控件、窗体和打印机(Printer)对象,设置这些属性不会影响在控件或对象上已经绘出的图片和文本;对于其他控件,改变字体将会在屏幕上立刻生效。(6)Enabled 属性。用于确定一个窗体或控件是否能够对用户产生的事件作出反应。通过在运行时把Enabled属性设置为True或False来使窗体和控件成为有效或无效。如果使窗体或其他“容器”对象无效,则在其中的所有控件也将无效。

例2.2 下面的程序当文本框Text1 不包含任何文本时使命令按钮Command 无效。

Private Sub Text1_Change ()

If Text1.Text="" Then   '查看文本框是否为空

Command1.Enabled=False  '使按钮无效

Else

Command1.Enabled=True  '使按钮有效

End If

End Sub(7)Visible属性。用于确定一个窗体或控件为可见或隐藏。要在启动时隐藏一个对象,可在设计时将 Visible 属性设置为False,也可在代码中设置该属性使控件在运行时隐藏,然后又重新显示以响应某一特别事件。(8)BackColor 属性和 ForeColor 属性。BackColor 属性用于返回或设置对象的背景颜色, ForeColor属性用于返回或设置在对象里显示图片和文本的前景颜色。它们是十六进制长整型数据,在Visual Basic 中通常用Windows 运行环境的红—绿—蓝(RGB)颜色方案,使用调色板或在代码中使用 RGB 或 QBColor 函数指定标准RGB 颜色。

例如,将窗体Form1的背景色设置为红色,则可使用:

Form1.BackColor=RGB(255, 0, 0)

也可用十六进制长整型数据或Visual Basic 系统内部常量给BackColor 属性赋值。例如:

Form1.BackColor=&HFF&

它等价于:

Form1.BackColor=vbRed

2.窗体的其他常用属性(1)MaxButton最大化按钮和MinButton最小化按钮。当值为True时,有最大或最小化按钮;值为False则无此按钮。(2)Icon控制图标属性。返回或设置窗体左上角显示的图标或最小化时显示的图标。它必须在ControlBox属性设置为True才有效。默认设置的图标是,单击属性窗口中Icon属性值后面的按钮,打开“加载图标”对话框,允许打开一个图标文件(*.Ico和*.Cur)作为这个属性的值,如图2-4所示。图2-4 加载图标(3)ControlBox控制菜单框属性。如设置值为True,则有控制菜单;如设置为False,则无控件菜单,同时即使MaxButton属性和MinButton属性设置为True,窗体也无最大化按钮和最小化按钮。(4)Picture图片属性。设置窗体中要显示的图片。加载图片的操作同加载Icon控制图标的操作。(5)BorderStyle 边框风格属性。通过改变 BorderStyle 属性,可以控制窗体如何调整大小,它可取6种值,如表2-1所示。表2-1 窗体对象BorderStyle属性的取值及意义(6)WindowsState属性。设置窗体运行的状态,它可取3个值,对应于3个状态,如表2-2所示。表2-2 WindowsState属性的取值(7)AutoRedraw属性。该属性决定窗体被隐藏或被另一窗口覆盖之后重新显示时,是否重新还原该窗体被隐藏或覆盖以前的画面,即是否重画如Circle、Line、Pset和Print等方法的输出。当为True时,重新还原该窗体以前的画面;当为False时,则不重画。在窗体 Load 事件中如果要使用 Print 方法在窗体上打印输出,就必须先将窗体的AutoRedraw属性设置为True,否则窗体启动后将没有输出结果。这是因为窗体是在Load事件执行完后才显示的。有关窗体的装载与卸载过程参见6.7.2小节。

读者一下子要记住这些属性是有一定困难的;要熟悉并应用这些窗体属性,最好的办法是上机实践,在“属性”窗口中更改窗体的一些属性,然后运行该应用程序并观察修改的效果。如果想得到关于每个属性的详细信息,可以选择该属性并按 F1 键查看联机帮助。2.2.2 事件

窗体事件是窗体识别的动作。与窗体有关的事件较多,Visual Basic 6.0 中有30 多个,但平时在编程序时并不需要对所有事件都编写代码,读者只需掌握一些常用事件,了解这些事件的触发机制即可。下面介绍几个常用的窗体事件。

1.Click事件

在程序运行时单击窗体内的某个位置,Visual Basic 将调用窗体的 Form_Click 事件。如果单击的是窗体内的控件,则只能调用相应控件的Click事件。

2.DblClick事件

程序运行时双击窗体内的某个位置,就触发了两个事件:第1次按动鼠标时,触发Click事件;第2次按动鼠标时,产生DblClick事件。

3.Load事件

程序运行时,窗体被装入工作区,将触发它的 Load 事件,所以该事件通常用来在启动应用程序时对属性和变量初始化。

4.Unload事件

卸载窗体时触发该事件。

5.Resize事件

无论是用户交互,还是通过代码调整窗体的大小,都会触发一个Resize事件。

例如,可在窗体的Resize事件中编写如下代码,使窗体在调整大小时,始终位于窗体的正中:

Private Sub Form_Resize()

Form1.Left=Screen.Width / 2 - Form1.Width / 2

Form1.Top=Screen.Height / 2 - Form1.Height / 2

End Sub

上面程序中Screen是系统屏幕对象。关于Screen对象,读者可参见7.8.3小节。2.2.3 方法

窗体常用的方法有Print(打印输出)、Cls(清除)、Move(移动)、Show(显示)、Hide(隐藏)等。

1.Print方法

Print方法以当前所设置的前景色和字体在窗体上输出文本字符串。Print方法的调用格式为:

窗体名.Print [{Spc(n)|Tab(n)} 表达式列表]

窗体名:是由窗体的Name属性所定义的窗体名称标识。

Spc(n):内部函数,用于在输出表达式前插入n个空格,允许重复使用。

Tab(n):内部函数,用于将指定表达式的值从窗体第n列开始输出,允许重复使用。

表达式列表:是由一个或多个数值或字符类型的表达式组成,如果在Print方法后面不出现表达式列表,则只在当前位置输出一个空行。当表达式列表由多个表达式组成时,表达式之间必须用空格、分号或逗号隔开,空格和分号等价。分号和逗号用来决定下一个表达式在窗体上显示的光标位置,分号表示光标定位在上一个显示字符之后;逗号表示光标定位在下一个打印区的开始位置,每隔14列为一个打印区的开始位置。

例2.3 在窗体Form1 的单击事件中写入如下代码:

Private Sub Form_Click()

a=10: b=3.14

Print "a="; a, "b="; b

Print "a="; a, "b="; b

Print "a="; a, "b="; b

Print      '空一行

Print "a="; a, "b="; b

Print "a="; a, Tab(18); "b="; b '从第18列开始打印输出b=

Print "a="; a, Spc(18); "b="; b '输出a值后,插入18个空后,输出b=

Print        '空一行

Print "a="; a, "b="; b

Print Tab(18); "a="; a, "b="; b '从第18列开始打印输出

Print Spc(18); "a="; a, "b="; b '空18列,即从第19列开始打印输出

End Sub

程序的运行结果如图2-5所示。图2-5 Print方法的使用

2.Cls(清除)方法

Cls方法用来清除运行时在窗体上显示的文本或图形。它的调用格式为:

窗体名.Cls

Cls 只能清除运行时在窗体上显示的文本或图形,而不能清除窗体设计时的文本或图形,当使用C1s方法后,窗体的当前坐标属性CurrentX和CurrentY被设置为0。

3.Move(移动)方法

Move方法用来在屏幕上移动窗体。它的调用格式如下:

窗体名.Move Left[,Top[,Width[,Height]]]

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载