本书根据教育部颁布的《计算机基础课程教学基本要求》,参照教育部考试中心《全国计算机等级考试(二级Visual Basic)考试大纲》,结合作者多年从事程序设计类课程的教学经验,在充分考虑非计算机专业学生特点的基础上编写而成。全书共分12章,系统地讲述了Visual Basic概述、基本控件、语言基础、基本控制结构、数组、过程、文件、对话框和菜单设计、多文档界面、鼠标事件与键盘事件、图形操作,以及程序调试与出错处理等内容。为便于对所学知识的消化和理解,本书还编写了配套的《Visual Basic程序设计习题与实验指导》一书,供读者学习使用。
本书采取由浅入深、循序渐进的方法进行介绍,在内容安排与组织上,秉承突出重点、化解难点、简捷实用的原则,将计算思维融入程序设计课程中,使读者能够掌握解决实际问题的方法。本书可作为高等院校各类专业学生学习Visual Basic程序设计的教材,也可供相关工程技术人员和计算机爱好者学习程序设计使用。
随着计算机技术的飞速发展和广泛应用,以及各个行业与信息技术的结合与渗透,使社会对人才的需求也呈现出新的变化。计算机的应用能力已经成为衡量大学生素质和能力的一个重要标志。尤其是非计算机专业的学生,学习计算机的基本知识、掌握程序设计的基本方法,培养计算思维显得尤为重要。
Visual Basic是微软公司推出的一种面向对象的、可视化的开发工具,是目前面向对象开发的主要语言之一。由于它具有简单易学、应用较广等特点,许多高校将其作为大学生学习程序设计的入门语言,同时它也是计算机等级考试(二级)报考人数最多的科目之一。尽管目前Visual Basic程序设计的教材很多,通过多年的教学实践发现,真正适合应用型本科教学的教材并不多。我们认为,Visual Basic中的可视化界面设计和程序设计语言两方面相辅相成,不能偏颇;而且要将两者的学习紧密结合,同步进行。
本书根据教育部《计算机基础课程教学基本要求》,以应用为背景,结合作者多年的教学经验编写完成。在内容的安排与组织上,力求突出重点、化解难点,简捷实用的原则;语言叙述力求通俗易懂。本书具有的特点如下:
(1)兴趣驱动,由浅入深。从解决身边的实际问题出发设计教学实例,在案例的不断深化中逐步引出新的知识点。学生可以通过这些实例的学习,加深对Visual Basic编程基本原理、方法的掌握和理解。
(2)突出重点,化解难点。对于重要的概念和算法,在理论讲解的同时配以丰富的实例,采取由浅入深、循序渐进的方法引导读者编写规模逐渐扩大的程序,让读者在不知不觉中逐步加深对Visual Basic程序设计方法的了解和掌握。
(3)注重实践,突出应用。本书从第4章开始,每章最后安排有综合应用,精心选用了一些学生熟悉的软件,经过简化后作为教学用例,如计算器、文本编辑器、对象资源管理器、图片浏览器、学生成绩管理、绘图板以及绘制数据图表等。学生将这些实例适当修改,就可以用于解决现实问题。有机地将所学内容与实际应用相结合,从而有利于激发学生的学习兴趣,同时也突出了面向应用的教学理念。
(4)有利于培养读者的计算思维。对于非计算机专业人员来说,首先培养其具备计算思维能力,其次才是程序设计语言的驾驭能力。因此全书的编写始终贯穿这一思想,突出问题的分析和思路引导,培养读者建立利用计算思维解决问题的能力。
全书包括12章。其中,第1章为Visual Basic程序设计概述,主要介绍Visual Basic的基本概念、集成开发环境,以及建立Visual Basic应用程序的基本步骤;第2章为简单Visual Basic程序设计,主要介绍面向对象程序设计的基本概念和编程思想,学习窗体和最基本控件的使用,让读者快速入门,掌握对象、属性、方法的内涵,同时进一步巩固Visual Basic应用程序设计流程;第3章为Visual Basic语言基础,主要介绍基本数据类型、各类运算符及其优先级、常量与变量以及常用内部函数等;第4~6章为程序设计的三种基本控制结构,主要介绍实现顺序结构、选择结构和循环结构的相关语句的使用,以及与控制结构相关的基本控件的使用;第7章为数组与自定义类型,主要介绍数组的概念、定义和用法,以及与数组相关的基本控件的使用;第8章为过程,主要介绍过程的分类,函数过程和Sub过程的定义和调用;第9章为菜单与对话框设计,主要介绍各种菜单和对话框的设计和编程,以及多重文档窗体的设计方法;第10章为文件,主要介绍文件的概念,顺序文件、随机文件和二进制文件的读写操作,以及文件系统控件的使用方法;第11章为键盘事件与鼠标事件,主要介绍常用的键盘事件与鼠标事件;第12章为图形操作,主要介绍坐标系设置、图形控件的使用和基本图形的绘制和应用等。从第4章开始,在每一章的最后,都给出综合应用实例,以加强对所学知识的整合。
本书由郭红、李芙玲任主编;沙嘉祥、崔新伟、白磊、徐花芬任副主编。具体编写分工为:第1、7、10章由郭红编写,第2、3章由崔新伟编写,第4、5、11章由李芙玲编写,第6、9章由沙嘉祥编写,第8章由白磊编写,第12章由徐花芬编写。全书由郭红、李芙玲负责总体策划,最后由郭红修改定稿。
本书在编写过程中,得到了王树教授和田立勤教授的帮助和支持,同时李冬艳、兰芸、范玉涛、于咏霞等教师也对本书提出了宝贵的意见和建议,并在部分章节的编校方面付出了辛勤劳动;胡子旭、侍伟洲等同学参与了本书例题和习题的上机调试。在此表示衷心感谢。本书在编写过程中,参考了大量的文献资料,在此也向这些文献资料的作者深表谢意。
为方便教学,本书提供了配套的电子课件(PPT文件),同时提供了例题源代码和习题的参考程序,且都已在Visual Basic 6.0(中文版)中调试通过。若需要可到出版社网站进行下载。
在教材的编写过程中,由于作者的水平有限,时间仓促,书中仍难免有不妥之处,谨请读者指正。
编 者
2016年1月
第1章 Visual Basic程序设计概述1
1.1 Visual Basic 6.0简介1
1.1.1 Visual Basic的发展1
1.1.2 Visual Basic的特点2
1.2 Visual Basic集成开发环境3
1.2.1 启动Visual Basic3
1.2.2 认识Visual Basic的集成开发环境4
1.3 创建一个简单的Visual Basic应用程序8
1.3.1 创建Visual Basic应用程序的基本步骤8
1.3.2 创建Visual Basic应用程序举例8
1.4 Visual Basic应用程序的组成14
习题15
第2章 简单Visual Basic程序设计16
2.1 面向对象程序设计的基本概念16
2.1.1 基本术语16
2.1.2 对象的属性、方法和事件17
2.2 对象的公共属性19
2.3 窗体21
2.3.1 窗体的常用属性21
2.3.2 窗体的事件和方法22
2.4 基本控件24
2.4.1 标签24
2.4.2 文本框26
2.4.3 命令按钮30
2.5 图片框和图像框32
2.5.1 图片框32
2.5.2 图像框33
2.6 Visual Basic程序结构34
2.7 Visual Basic编码规则35
习题36
第3章 Visual Basic语言基础39
3.1 引例39
3.2 数据类型40
3.3 常量和变量42
3.3.1 标识符与关键字42
3.3.2 常量43
3.3.3 变量44
3.4 运算符和表达式47
3.4.1 算术运算符及其表达式48
3.4.2 字符串运算符及其表达式50
3.4.3 关系运算符及其表达式50
3.4.4 逻辑运算符及其表达式52
3.4.5 运算符的优先级52
3.5 常用内部函数53
3.5.1 数学函数54
3.5.2 字符串函数55
3.5.3 转换函数56
3.5.4 日期与时间函数57
3.5.5 随机函数59
习题60
第4章 顺序结构程序设计63
4.1 三种程序控制结构63
4.1.1 算法63
4.1.2 三种控制结构64
4.2 基本语句64
4.2.1 赋值语句64
4.2.2 结束、暂停语句66
4.3 数据输入输出67
4.3.1 Print方法67
4.3.2 Format函数69
4.3.3 InputBox函数69
4.3.4 MsgBox函数与过程71
4.4 程序调试74
4.4.1 错误类型74
4.4.2 调试程序75
4.5 综合应用76
习题77
第5章 选择结构程序设计79
5.1 引例79
5.2 If 语句80
5.2.1 单分支If语句80
5.2.2 双分支If语句81
5.2.3 多分支If语句82
5.3 Select Case语句85
5.4 条件语句的嵌套87
5.5 条件函数89
5.6 与选择结构相关的控件90
5.6.1 单选按钮90
5.6.2 复选框91
5.6.3 框架92
5.7 综合应用94
习题95
第6章 循环结构程序设计98
6.1 引例98
6.2 For…Next循环语句99
6.3 Do…Loop循环语句102
6.4 While…Wend循环语句106
6.5 三种循环语句的比较108
6.6 循环的嵌套109
6.7 滚动条、进度条和定时器112
6.7.1 滚动条和进度条112
6.7.2 定时器117
6.8 综合应用121
习题125
第7章 数组与自定义类型130
7.1 引例130
7.2 一维数组131
7.2.1 一维数组的声明131
7.2.2 一维数组元素的引用133
7.2.3 一维数组的基本操作134
7.2.4 一维数组的应用138
7.3 二维数组及多维数组142
7.3.1 二维数组的声明和引用143
7.3.2 二维数组的基本操作143
7.3.3 二维数组的应用146
7.4 动态数组149
7.4.1 动态数组的声明150
7.4.2 动态数组的应用151
7.5 控件数组152
7.5.1 控件数组的概念152
7.5.2 控件数组的建立153
7.5.3 控件数组的应用156
7.6 自定义数据类型及其数组157
7.6.1 自定义类型的声明157
7.6.2 自定义类型变量的声明与使用158
7.6.3 自定义类型数组及应用159
7.7 列表框和组合框160
7.7.1 列表框160
7.7.2 组合框163
7.8 综合应用165
习题166
第8章 过程171
8.1 引例171
8.2 函数过程172
8.2.1 函数过程的定义172
8.2.2 函数过程的调用174
8.3 子过程176
8.3.1 子过程的定义176
8.3.2 子过程的调用177
8.4 参数传递178
8.4.1 形参和实参178
8.4.2 参数传递的方式179
8.4.3 数组参数的传递181
8.5 过程的嵌套及递归调用183
8.5.1 过程的嵌套调用183
8.5.2 过程的递归调用185
8.6 变量、过程的作用域188
8.6.1 变量的作用域188
8.6.2 过程的作用域192
8.7 综合应用192
习题197
第9章 菜单与对话框的设计201
9.1 菜单设计201
9.1.1 Visual Basic中的菜单对象201
9.1.2 菜单编辑器201
9.1.3 下拉菜单的设计204
9.1.4 弹出菜单的设计205
9.2 对话框207
9.2.1 通用对话框207
9.2.2 用户自定义对话框213
9.3 多重文档界面(MDI)214
9.4 综合应用217
习题220
第10章 文件222
10.1 引例222
10.2 文件的概念223
10.2.1 文件结构223
10.2.2 文件分类224
10.2.3 文件操作的基本流程224
10.3 顺序文件225
10.3.1 顺序文件的打开与关闭225
10.3.2 顺序文件的写操作226
10.3.3 顺序文件的读操作228
10.4 随机文件231
10.4.1 随机文件的记录231
10.4.2 随机文件的打开与关闭231
10.4.3 随机文件的写操作232
10.4.4 随机文件的读操作232
10.5 二进制文件的操作234
10.5.1 二进制文件的打开与关闭234
10.5.2 二进制文件的读/写操作235
10.6 文件管理控件236
10.6.1 驱动器列表框236
10.6.2 目录列表框237
10.6.3 文件列表框237
10.6.4 文件控件的应用238
10.7 综合应用239
习题241
第11章 键盘事件与鼠标事件244
11.1 键盘事件244
11.1.1 KeyPress事件244
11.1.2 KeyDown和KeyUp事件245
11.2 鼠标事件247
11.2.1 MouseDown和MouseUp事件247
11.2.2 MouseMove事件249
11.3 设置鼠标指针250
???*11.4 拖放操作252
11.4.1 DragMode属性和DragIcon属性252
11.4.2 DragDrop事件和DragOver事件253
11.4.3 Drag方法254
11.5 综合应用255
习题257
第12章 图形操作260
12.1 引例260
12.2 图形控件261
12.2.1 直线控件261
12.2.2 形状控件262
12.3 Visual Basic坐标系263
12.3.1 默认坐标系263
12.3.2 自定义坐标系264
12.4 绘图属性266
12.4.1 当前坐标266
12.4.2 线宽与线型267
12.4.3 色彩与填充269
12.5 图形方法271
12.5.1 Line方法272
12.5.2 Circle方法273
12.5.3 Pset方法275
12.5.4 Point方法276
12.6 综合应用277
习题285
参考文献288