第1章 Visual Basic技术基础 1
1.1 Visual Basic介绍 2
1.1.1 Visual Basic的版本 2
1.1.2 Visual Basic的特点 2
1.2 安装Visual Basic 3
1.2.1 VisualBasic运行环境介绍 3
1.2.2 Visual Basic安装 3
1.2.3 添加\删除组件 4
1.3 VisualBasic的启动和退出 5
1.3.1 启动Visual Basic 5
1.3.2 退出Visual Basic 6
1.4 Visual Basic可视化开发环境介绍 6
1.5 常见的错误方式 10
1.6 Visual Basic程序调试方法 11
1.7 Visual Basic用户界面设计基础 11
1.7.1 常用属性的设置 11
1.7.2 窗体的属性 13
1.8 一个简单的Visual Basic程序 14
1.8.1 Visual Basic开发流程 14
1.8.2 实例概述 15
1.8.3 实现流程 15
1.9 技术解惑 18
1.9.1 初学者需要知道的正确观念 18
1.9.2 怎样学好Visual Basic语言 18
第2章 Visual Basic语言初步 19
2.1 使用关键字 20
2.2 使用标识符 20
2.3 使用变量 20
2.3.1 变量的命名规则 20
2.3.2 声明变量 21
2.3.3 变量的数据类型 22
2.4 使用常量 24
2.4.1 文字常量 24
2.4.2 符号常量 24
2.4.3 系统常量 25
2.5 运算符和表达式 25
2.5.1 算术运算符/算术表达式 25
2.5.2 关系运算符/关系表达式 26
2.5.3 连接运算符 26
2.5.4 逻辑运算符/逻辑表达式 27
2.5.5 日期表达式 27
2.6 运算符的优先级 28
2.7 技术解惑 28
2.7.1 公用变量与局部变量的比较 28
2.7.2 体会静态变量 29
2.7.3 标识符本身的原则 29
2.7.4 VisualBasic表达式的特点 29
第3章 Visual Basic算法语句 30
3.1 算法概述 31
3.1.1 算法分类 31
3.1.2 算法的特征 31
3.2 程序语句 31
3.3 顺序结构 32
3.3.1 使用赋值语句 32
3.3.2 使用Print方法 32
3.3.3 使用注释语句 32
3.4 条件判断语句 33
3.4.1 使用If/Then语句 33
3.4.2 使用Select Case语句 38
3.4.3 嵌套用法 40
3.5 循环结构 41
3.5.1 使用Do…Loop语句 41
3.5.2 使用While/Wend语句 45
3.5.3 使用For…Next语句 47
3.6 其他控制语句 49
3.6.1 使用Goto语句 49
3.6.2 使用Exit与End语句 50
3.6.3 使用Stop语句 52
3.6.4 使用With语句 52
3.7 技术解惑 52
3.7.1 几种语句的选择 52
3.7.2 结构的选择 52
3.7.3 慎用Goto语句 52
3.7.4 End和Stop的区别 53
第4章 数组 54
4.1 数组基础 55
4.1.1 数组的作用和常用概念 55
4.1.2 声明数组 55
4.1.3 使用数组 56
4.2 二维数组 57
4.2.1 声明二维数组 57
4.2.2 使用二维数组 57
4.3 多维数组 59
4.4 动态数组 59
4.5 控件数组 62
4.5.1 建立控件数组 62
4.5.2 建立一个控件数组 63
4.6 技术解惑 66
4.6.1 使用数组的注意事项 66
4.6.2 自定义数据类型 66
4.6.3 在二维数组中合并相同的项 67
4.6.4 数组的大小不一定固定 68
第5章 过程和函数 69
5.1 使用Sub过程 70
5.1.1 使用Sub过程 70
5.1.2 通用过程 71
5.1.3 调用过程 72
5.2 使用Function过程 74
5.2.1 Function过程定义 74
5.2.2 调用Function过程 75
5.3 传递过程参数 76
5.3.1 形式参数和实际参数 76
5.3.2 参数传递 77
5.3.3 数组作为传递参数 78
5.4 可选参数与不定量参数 80
5.4.1 使用可选参数 80
5.4.2 使用不定数量的参数 83
5.5 递归调用 85
5.6 Visual Basic内置函数 87
5.6.1 数学函数 87
5.6.2 字符函数 87
5.6.3 日期与时间函数 88
5.6.4 转换函数 89
5.6.5 格式输出Format函数 89
5.6.6 InputBox函数与MsgBox函数 90
5.7 技术解惑 91
5.7.1 调用其他模块中过程的方法 91
5.7.2 子过程和函数的区别 91
5.7.3 判断过程参数的传递方式 91
5.7.4 用“ParamArray”表示数组参数的规则 91
5.7.5 使用递归的注意事项 92
第6章 窗体处理 93
6.1 对象 94
6.1.1 对象概述 94
6.1.2 对象的属性 94
6.1.3 对象的事件 95
6.1.4 对象的方法 95
6.2 窗体基础 95
6.2.1 窗体结构 95
6.2.2 添加一个窗体 96
6.2.3 保存和删除窗体 96
6.3 窗体的属性 97
6.3.1 Name属性 97
6.3.2 Caption属性 97
6.3.3 Icon属性 97
6.3.4 WindowState属性 98
6.3.5 Picture属性 98
6.4 窗体方法 99
6.4.1 Load和UnLoad方法 99
6.4.2 Show方法 99
6.4.3 Move方法 101
6.4.4 Print方法 101
6.5 窗体的事件 103
6.5.1 Click事件 104
6.5.2 DblClick事件 105
6.5.3 Initialize事件 105
6.5.4 Resize事件 106
6.6 多窗体和环境应用 108
6.6.1 多重窗体和多文档窗体 108
6.6.2 多重窗体操作 108
6.7 设计MDI窗体 111
6.7.1 MDI主窗体和MDI子窗体 111
6.7.2 排列子窗体 113
6.8 技术解惑 114
6.8.1 总结与多重窗体程序设计有关的语句和方法 114
6.8.2 Vsiaul Basic窗体的属性、方法和事件的关系 115
6.8.3 Visual Basic的自适应窗体设计 115
6.8.4 命令按钮和文本框控件等对象不能直接添加在MDIForm窗体中 116
6.8.5 Visual Basic的属性 116
第7章 控件应用 118
7.1 Windows控件介绍 119
7.1.1 内置控件 119
7.1.2 ActiveX控件 119
7.1.3 可插入对象 120
7.2 文本编辑控件 120
7.2.1 标签控件 120
7.2.2 文本框控件 122
7.3 按钮控件 124
7.3.1 命令按钮控件 124
7.3.2 OptionButton控件 125
7.3.3 Checkbox控件 127
7.4 ListBox控件和ComboBox控件 129
7.4.1 ListBox控件 129
7.4.2 ComboBox控件 131
7.5 图片图形控件 133
7.5.1 PictureBox控件 133
7.5.2 Image控件 136
7.6 滚动条控件 137
7.7 定时器控件 139
7.7.1 Enabled属性 139
7.7.2 Interval属性 139
7.8 技术解惑 141
7.8.1 使用Scrollbars属性时的注意事项 141
7.8.2 Image控件和图片框的区别 141
7.8.3 Visual Basic控件的3种广义分类 141
7.8.4 Visual Basic的标准控件 141
7.8.5 用第三方控件修饰按钮 142
7.8.6 滚动条控件的属性和事件 143
7.8.7 解决ListBox内选项过多的问题 143
第8章 工具栏和状态栏 144
8.1 创建和设计工具栏 145
8.1.1 使用Toolbar控件创建工具栏 145
8.1.2 添加图像 148
8.1.3 ImageList和Toolbar控件关联 151
8.1.4 响应Toolbar控件的事件 152
8.2 创建和设计状态栏 152
8.3 技术解惑 155
8.3.1 控制菜单和工具栏的外观 155
8.3.2 模式与无模式的对话框 155
8.3.3 用窗体作为自定义对话框 155
第9章 菜单和对话框 157
9.1 菜单设计 158
9.1.1 菜单基础 158
9.1.2 菜单编辑器 158
9.2 弹出式菜单 161
9.3 菜单编程 163
9.4 对话框 164
9.4.1 使用消息框函数MsgBox 164
9.4.2 使用输入框函数InputBox 165
9.4.3 使用通用对话框 165
9.4.4 使用颜色对话框 167
9.4.5 使用字体对话框 169
9.4.6 使用打印对话框 171
9.4.7 使用帮助对话框 171
9.5 技术解惑 173
9.5.1 创建位图菜单 173
9.5.2 屏蔽键盘上由快捷键产生的弹出式菜单 173
9.5.3 使用API中的ChooseColor函数调用颜色对话框 174
9.5.4 解决“未加入字体”的问题 174
第10章 程序调试、错误处理和创建帮助 175
10.1 程序调试的错误类型 176
10.1.1 编译错误 176
10.1.2 运行错误 177
10.2 使用断点跟踪调试 177
10.2.1 “调试”工具栏 177
10.2.2 跟踪调试程序 179
10.3 使用调试窗口 181
10.3.1 在“立即”窗口中调试代码 181
10.3.2 使用“监视”窗口 181
10.3.3 使用“本地”窗口 182
10.4 错误处理和条件编译 182
10.5 创建帮助 185
10.5.1 使用Windows Help Workshop创建帮助 185
10.5.2 在程序中显示帮助文件 186
10.6 技术解惑 190
10.6.1 Resume和Goto的区别 190
10.6.2 设置错误陷阱 190
10.6.3 编写错误处理例程 190
第11章 数据库工具 191
11.1 数据库概述 192
11.2 使用Access数据库 194
11.2.1 Access概述 194
11.2.2 启动和关闭Access 194
11.2.3 Access的基本操作 195
11.2.4 压缩Access数据库 196
11.3 使用SQL Server数据库 200
11.3.1 SQL Server 2000介绍 200
11.3.2 安装SQL Server 2000 200
11.3.3 SQL Server 2000的基本操作 202
11.3.4 操作数据库表 206
11.4 备份和恢复SQL Server数据库 208
11.4.1 备份SQL Server 208
11.4.2 恢复SQL Server 210
11.5 附加和分离SQL Server数据库 211
11.5.1 附加SQL Server 212
11.5.2 分离SQL Server 214
11.6 技术解惑 216
11.6.1 数据库压缩技术 216
11.6.2 安装SQL Server的常见问题 216
11.6.3 在数据库中的E-R图 217
11.6.4 数据模型和关系数据模型 217
第12章 使用Data控件和ADO控件 218
12.1 常用数据库编程方法 219
12.2 使用ADO对象 219
12.2.1 ADO简介 219
12.2.2 ADO的对象 219
12.2.3 Command对象 220
12.2.4 Connection对象 220
12.2.5 Error对象 222
12.2.6 Field对象 222
12.2.7 Parameter对象 223
12.2.8 Property对象 223
12.2.9 Recordset对象 224
12.2.10 Stream对象 225
12.2.11 ADO连接数据库 226
12.2.12 ADO实现对数据库的操作 229
12.3 ADO事务处理 236
12.3.1 事务特征和处理控制语句 236
12.3.2 Visual Basic的事务处理编程 236
12.3.3 几种获取数据库数据的方法 239
12.4 使用Data控件 240
12.4.1 Data控件概述 241
12.4.2 Data控件的属性 241
12.4.3 Data控件的方法 242
12.4.4 Data控件的事件 242
12.5 使用ADO控件 243
12.5.1 ADO控件的属性 243
12.5.2 ADO控件的方法 243
12.5.3 使用ADO控件连接数据库 244
12.5.4 使用ADO控件连接Access 244
12.5.5 使用ADO控件连接SQL Server数据库 245
12.6 技术解惑 247
12.6.1 总结Recordset的用法 247
12.6.2 数据库打开/关闭方法的选择 247
12.6.3 通过相对路径指定数据库文件 248
12.6.4 ADO控件连接Access数据库的方法 248
12.6.5 必须先建立对ADO对象的引用 249
12.6.6 Recordset管理数据库的方法 249
12.6.7 SQL查询语言的结构 249
第13章 DataGrid控件和数据绑定 250
13.1 用ODBC连接数据库 251
13.1.1 使用ODBC连接Access 251
13.1.2 使用ODBC连接SQL Server 253
13.2 控件绑定 255
13.3 使用DataGrid控件 257
13.3.1 绑定DataGrid与ADO控件 258
13.3.2 Visual Basic 6.0控件综合编程 259
13.4 技术解惑 262
13.4.1 For语句在数据库中的应用 262
13.4.2 复制数据库的结构定义 262
13.4.3 选择数据库访问技术 263
第14章 报表打印处理 264
14.1 报表打印技术基础 265
14.1.1 数据环境设计器 265
14.1.2 数据报表对象(DataReport) 267
14.1.3 数据报表控件 269
14.2 使用Printer对象 271
14.2.1 Printer对象的属性 272
14.2.2 Printer对象的方法 273
14.3 Crystal Report报表基础 273
14.3.1 Crystal Reports控件基础 274
14.3.2 安装Crystal Reports 274
14.3.3 使用Crystal Reports插件 275
14.4 技术解惑 276
14.4.1 Excel的宏功能 276
14.4.2 使用第三方报表打印控件 276
第15章 存储过程 277
15.1 存储过程基础 278
15.2 创建存储过程 278
15.3 管理存储过程 281
15.3.1 删除存储过程 281
15.3.2 修改存储过程 283
15.3.3 程序中使用存储过程 283
15.3.4 加密存储过程 285
15.4 技术解惑 287
15.4.1 执行存储过程的处理代码 287
15.4.2 使用SQL存储过程有什么好处 289
15.4.3 使用视图处理数据 289
第16章 使用ActiveX控件技术 290
16.1 ActiveX基础 291
16.2 创建ActiveX控件 291
16.2.1 向导创建ActiveX控件 291
16.2.2 手动创建ActiveX控件 294
16.3 使用ActiveX控件 296
16.4 技术解惑 297
丢失ActiveX控件的解决方法 297
第17章 文件处理 298
17.1 文件概述 299
17.1.1 文件结构 299
17.1.2 文件分类 299
17.1.3 访问文件 299
17.2 文件系统控件 300
17.2.1 驱动器列表框控件 300
17.2.2 目录列表框控件 300
17.2.3 文件列表框控件 301
17.2.4 使用文件系统控件 302
17.3 顺序文件操作 303
17.3.1 打开与关闭 304
17.3.2 读操作 304
17.3.3 写操作 309
17.4 随机文件操作 312
17.4.1 打开与关闭 312
17.4.2 读写操作 312
17.5 二进制文件操作 315
17.5.1 二进制文件的存储 315
17.5.2 存储方法 315
17.5.3 保存到数据库实例 316
17.5.4 读取数据库文件实例 319
17.6 技术解惑 321
17.6.1 实现图像在数据库的存储与显示的方法 321
17.6.2 Input#语句 323
17.6.3 存储二进制文件的意义 323
第18章 绘图处理 324
18.1 坐标系统 325
18.1.1 坐标系统介绍 325
18.1.2 刻度 325
18.2 颜色设置 326
18.3 绘图方法 328
18.4 常用绘图控件 332
18.4.1 使用Line控件 332
18.4.2 使用Shape控件 335
18.5 技术解惑 337
18.5.1 调用Win32API函数绘图 337
18.5.2 总结形状控件(Shape)的常用属性 338
18.5.3 通过Line控件实现分割线效果和时钟转动效果 339
第19章 使用MSChat控件处理图形 340
19.1 Visual Basic图形编程处理介绍 341
19.2 使用MSChat控件 341
19.2.1 添加MSChat控件 341
19.2.2 获取图形数据 342
19.3 MSChat控件的三维效果 346
19.3.1 旋转处理 347
19.3.2 光线处理 347
19.3.3 MSChat三维效果的综合实例 349
19.4 技术解惑 352
19.4.1 实现图形数据的打印和预览处理 352
19.4.2 实现图形动画的3种方法 353
第20章 图形动画编程和多媒体编程 355
20.1 图形动画编程 356
20.1.1 Visual Basic图形动画编程概述 356
20.1.2 制作一个动态图片展示程序 356
20.2 多媒体编程 361
20.3 MCI接口 362
20.3.1 MCI接口介绍 362
20.3.2 MCI函数 362
20.4 Multimedia MCI控件 363
20.4.1 Multimedia MCI概述 364
20.4.2 Multimedia MCI属性和事件 364
20.4.3 使用Multimedia MCI 364
20.5 ActiveMovie控件 367
20.5.1 ActiveMovie概述 367
20.5.2 ActiveMovie属性、方法和事件 368
20.5.3 使用ActiveMovie 369
20.6 Mp3play.ocx控件 371
20.7 技术解惑 373
20.7.1 使用第三方控件 373
20.7.2 Visual Basic图形动画编程的实现 374
第21章 网络编程 375
21.1 使用Winsock控件 376
21.1.1 Winsock控件介绍 376
21.1.2 Winsock属性、方法和事件 376
21.1.3 使用Winsock控件实例 377
21.2 使用WebBrowser控件 380
21.2.1 WebBrowser属性、方法和事件 380
21.2.2 WebBrowser控件使用实例 382
21.3 使用Inet控件 384
21.3.1 Inet控件属性、方法和事件 384
21.3.2 Inet控件使用实例 387
21.4 Visual Basic常见的网络应用 389
21.4.1 获取本机名称和IP地址 389
21.4.2 获取网页源代码 397
21.4.3 端口扫描 398
21.4.4 在线邮件发送处理 409
21.5 技术解惑 411
21.5.1 三类邮件系统 411
21.5.2 Inet控件的功能 411
第22章 程序打包和部署 412
22.1 Visual Basic打包和部署介绍 413
22.2 Visual Basic程序打包和部署向导 413
22.3 打包Visual Basic程序 414
22.3.1 打包前的准备工作 415
24.3.2 打包Visual Basic应用程序 416
22.4 部署Visual Basic6.0程序 418
22.4.1 部署前的准备工作 418
22.4.2 部署Visual Basic应用程序 419
第23章 开发一个简单的扫雷游戏 421
23.1 扫雷游戏系统概述与预览 422
23.1.1 扫雷游戏系统概述 422
23.1.2 扫雷游戏系统预览 422
23.2 扫雷游戏系统设计与分析 423
23.3 鼠标单击方格的事件 429
23.4 制作游戏安装包 435
23.5 核心代码分析 435
第24章 图书借阅系统 439
24.1 图书借阅系统介绍和分析 440
24.1.1 图书借阅系统应用背景概述 440
24.1.2 图书借阅系统需求分析 440
24.1.3 图书借阅系统功能模块结构 440
24.1.4 图书借阅系统概览 440
24.2 图书借阅系统数据库设计 442
24.2.1 数据库需求分析 442
24.2.2 概念结构设计 443
24.2.3 逻辑结构设计 443
24.3 系统窗体概览 444
24.4 创建主窗体Main.frm 445
24.4.1 界面设计 445
24.4.2 编写窗体处理代码 448
24.5 创建图书管理窗体Books.frm 449
24.5.1 界面设计 450
24.5.2 编写窗体处理代码 451
24.6 图书添加/修改窗体BooksAE.frm 455
24.6.1 界面设计 455
24.6.2 编写窗体处理代码 456
24.7 图书查找窗体Search.frm 459
24.7.1 界面设计 459
24.7.2 编写窗体处理代码 460
24.8 图书过滤窗体Filter.frm 461
24.8.1 界面设计 462
24.8.2 编写窗体处理代码 463
24.9 排序处理窗体Sort.frm 464
24.9.1 界面设计 464
24.9.2 编写窗体处理代码 465
24.10 创建客户管理窗体Members.frm 466
24.10.1 界面设计 466
24.10.2 编写窗体处理代码 467
24.11 创建借书处理窗体Issue.frm 471
24.11.1 界面设计 471
24.11.2 编写窗体处理代码 473
24.12 创建还书处理窗体Return.frm 475
24.12.1 界面设计 475
24.12.2 编写窗体处理代码 476
24.13 创建信息选择窗体SelectDg.frm 479
24.13.1 界面设计 479
24.13.2 编写窗体处理代码 480
24.14 创建系统设置窗体Settings.frm 482
24.14.1 界面设计 482
24.14.2 编写窗体处理代码 483
24.15 创建图书报表DataReport1 484