第1章 进入Visual Basic编程世界 1
1.1 Visual Basic的起源 2
1.2 版本 3
1.3 为什么Visual Basic会成功 3
1.4 安装Visual Basic 6.0 5
1.5 安装MSDN 12
1.6 进入Visual Basic编程世界 18
1.6.1 启动Visual Basic 18
1.6.2 Visual Basic的相关工具 19
1.6.3 进入Visual Basic的工作环境 19
1.7 编写第一个Visual Basic程序 22
1.7.1 第一步——添加控件 22
1.7.2 第二步——设置控件属性 24
1.7.3 第三步——编写程序代码 25
1.7.4 第四步——运行程序 26
1.7.5 第五步——结束程序并保存工程 27
1.8 习题 30
1.8.1 选择题 30
1.8.2 上机题 32
第2章 界面设计 33
2.1 与界面设计相关的窗口 34
2.1.1 窗体窗口 34
2.1.2 工具箱窗口 35
2.1.3 属性窗口 35
2.2.1 三步走布置控件 36
2.2 在窗体上布置控件 36
2.2.2 三合一布置控件法 37
2.2.3 控件的选取 37
2.2.4 控件的删除 39
2.2.5 窗体中的网格 39
实例1:调整窗体中的网格 40
2.2.6 控件的快速布局 41
实例2:布局控件 41
2.3 对象属性的设置 44
2.3.1 属性列表的浏览 44
2.3.2 对象列表框与Visual Basic的对象 45
实例3:对象属性的设置 47
2.3.3 三种属性设置的类型 49
实例4:Font属性的设置 50
实例5:Picture属性的设置 52
2.4 窗体 52
2.4.1 窗体类型 52
2.4.2 为窗体指定图标——Icon属性 55
实例6:为窗体指定图标 56
2.4.3 窗体的位置类属性 56
2.4.4 其他常用属性 57
2.4.5 显示与隐藏窗体 57
实例7:对话框类型的窗体 58
实例8:AutoRedraw属性的使用 59
2.5.2 控件的分组 60
2.5.3 控件的一致性 60
2.5 界面设计综述 60
2.5.1 控件位置的安排 60
2.5.4 合理利用颜色、图像和显示效果,来达成内容与形式的统一 61
实例9:界面设计实例——“日积月累”类型的窗体 61
2.6 习题 63
2.6.1 选择题 63
2.6.2 填空题 63
2.6.3 编程题 64
第3章 编程初步 65
3.1 Visual Basic的三种工作模式 66
3.2 代码窗口 66
3.2.2 及时提示 67
3.2.3 及时检查语法错误 67
3.2.1 自动编码 67
3.2.4 文字感应 68
实例10:用程序代码设置窗口背景 68
3.3 Visual Basic程序编写规则 70
3.3.1 程序注释 70
3.3.2 长句分行 71
3.3.3 分行的规则 72
3.3.4 一行多句 72
3.4 程序的调试 72
3.4.1 逐行执行程序 73
实例11:逐行执行程序 73
3.4.2 设定程序的断点 74
实例12:设置断点 75
3.5.1 “立即”窗口 76
3.5 简单的数据输入、输出 76
3.4.3 设定断点的另一种方法——Stop语句 76
3.5.2 输出信息的MsgBox函数 78
3.5.3 正确使用MsgBox函数 79
3.5.4 MsgBox函数的不恰当用法 84
实例13:选择是否继续 85
3.5.5 输入数据的InputBox函数 86
3.5.6 正确使用InputBox函数 86
3.5.7 InputBox函数的错误用法 87
实例14:求指定数的5次方 89
3.6 如何开发应用程序 89
3.7 习题 90
3.7.1 选择题 90
第4章 编程基础——数据与数据运算 93
4.1.1 整数 94
4.1 数据的表示法 94
实例15:不同进制之间的转换 95
4.1.2 实数 96
4.1.3 字符串数据 96
4.1.4 日期时间数据 97
实例16:设置系统的日期格式 98
4.1.5 布尔数据 101
4.2 算术运算 101
4.2.1 算术运算符 101
实例17:将华氏温度转成摄氏温度 102
4.2.2 整数运算易出现的错误 103
4.2.3 数学函数 105
4.3.1 字符串的连接 106
4.3 字符串的连接与处理 106
4.4 关系运算 107
4.4.1 关系运算符 107
4.3.2 不同类型数据的连接 107
4.4.2 日期时间的比较 108
4.4.3 字符串的比较 108
4.5 逻辑运算 109
4.5.1 逻辑运算符 110
4.5.2 真值表 110
4.5.3 表达式作为运算对象 111
4.6 综合运算 111
4.6.1 算术运算符的优先顺序 112
实例18:求表达式的值 112
4.6.3 各类运算符之间的优先顺序 113
4.6.2 其他运算符的优先顺序 113
4.7 习题 114
4.7.1 选择题 114
4.7.2 编程题 116
第5章 常量与变量 117
5.1 常量 118
5.1.1 常量符号 118
实例19:计算圆面积、圆周长 118
5.1.2 常量的数据类型 120
5.1.3 命名规则 121
5.1.4 使用常量符号的好处 121
5.2 变量 122
5.2.1 变量的声明与使用 122
5.1.5 使用常量易出现的错误 122
5.2.2 变量与数据类型 123
5.2.3 再议变量的声明 124
5.2.4 声明变量时易出现的错误 126
5.2.5 给变量取一个好名字 127
5.2.6 数值类型变量 130
5.2.7 字符变量 131
实例20:测试字符串长度的变化 131
5.2.8 其他类型变量 132
实例21:变量数据类型的检验 133
5.2.9 初始化变量 134
实例22:未初始化的变量等于什么? 135
5.2.10 数据类型之间的转换 136
5.2.11 常见的数据类型转换错误 137
5.3 变量的作用域 138
5.3.1 动态变量 138
实例23:测试动态声明的变量 139
5.3.2 静态变量 140
实例24:静态变量的使用 141
5.3.3 全局变量 141
实例25:全局变量的使用 142
5.4 习题 142
5.4.1 选择题 142
5.4.2 思考题 144
第6章 程序流程控制语句 145
实例27:求3个数中的最大值并输出 146
实例26:使用If语句实现求输入数值的绝对值 146
6.1.1 最简单的If-Then 146
6.1 If语句 146
6.1.2 结构化的If-Then 147
实例28:七色变换球 148
6.1.3 能够处理两种情况的If-Then-Else 150
实例29:计算平均分数 151
6.1.4 逐一判断条件的ElseIf 151
实例30:输入自变量根据函数求值 152
实例31:猜猜几位数 153
实例32:输入成绩显示成绩等级 154
实例33:是否是闰年 155
6.1.5 嵌套的If语句 156
实例34:判断输入数的位数 156
6.1.6 If语句的正确流程 157
6.1.7 If语句的不恰当用法 158
6.1.8 If语句的使用技巧 159
6.2 多分支的Select Case语句 159
6.2.1 认识Select Case语句 159
实例35:正序、逆序打印各位数 161
6.2.2 Case子句的条件值的三种形式 162
实例36:输出成绩等级——条件值中带有To关键字 163
实例37:企业能发多少奖金?——条件值中带有Is关键字 163
6.2.3 Case子句的有效组织方法 165
6.2.4 使用Select Case语句要注意的问题 166
6.2.5 Select Case语句与If语句 167
6.3 强制跳转的GoTo 167
6.3.3 错误的标记设置 168
6.3.1 标记的设置 168
6.3.2 正确的标记设置 168
6.3.4 避免GoTo形成的无穷循环 169
实例38:求1+2+3+...+100 169
实例39:改进求平均分数 171
6.4 计数执行的For-Next循环 172
6.4.1 循环的意义 172
6.4.2 认识For-Next循环 172
实例40:求1+2+3...+100 173
实例41:求n! 173
实例42:输出所有的水仙花数 174
6.4.3 步进值的三种形式 175
实例43:步进值大于1的For-Next语句 176
6.4.4 嵌套的For-Next语句 177
实例44:一元、五元、十元及五十元组成一百元的组合有几种 178
6.4.5 提前退出循环 179
6.4.6 使用For-Next循环易出现的错误 180
6.4.7 正确使用For-Next循环 180
6.5 While-Wend循环 181
6.5.1 认识While-Wend语句 181
6.5.2 While-Wend与For-Next 181
实例45:3的几次方 182
6.6 Do-Loop循环 182
6.6.1 认识Do-Loop循环 182
实例46:猴子吃桃问题 183
实例47:查找字符串中的第一个空格 184
6.6.2 Exit Do语句 184
6.6.3 使用Do-Loop循环易出现的错误 186
6.6.4 正确使用Do-Loop循环的两种格式 186
6.6.5 其他格式 187
6.6.6 正确编写循环 188
6.7 习题 189
6.7.1 选择题 189
6.7.2 上机题 192
第7章 数组 193
7.1 数组初步 194
7.1.1 数组与变量 194
7.1.2 数组的声明 194
7.1.3 数组元素的存取 195
7.1.4 使用数组的注意事项 196
实例48:倒序打印数据 196
实例49:冒泡法排序 198
7.2 数组晋级 200
7.2.1 控制数组下标的范围 200
7.2.2 动态数组 201
实例50:动态数组的应用——求任意个数中的最大值 202
7.2.3 让“变量”变成“数组” 204
实例51:学英语 205
7.3 二维数组 206
7.3.1 二维数组的声明 206
7.3.2 二维数组的存取 207
7.3.3 多维数组 209
实例52:统计比赛分数 209
实例53:创建控件数组 210
7.4 控件数组 210
实例54:扇动翅膀的蝴蝶 212
实例55:使用Timer控件制作动画 214
7.5 习题 215
7.5.1 选择题 215
第8章 子程序与函数 217
8.1 设计子程序 218
8.1.1 创建子程序 218
8.1.2 调用子程序的格式 219
实例56:调用子程序 219
8.2.1 为什么使用参数 220
8.2.2 设计含有参数的子程序 220
8.2 子程序与参数传递 220
8.1.3 为子程序命名的学问 220
8.2.3 调用含有参数的子程序 221
8.2.4 形参与实参 221
8.2.5 以变量为实际参数 222
8.2.6 声明形参的数据类型 222
实例57:声明参数类型的作用 223
8.2.7 使用参数的注意事项 224
实例58:测试常量和变量如何替代形参 224
8.3 自定义函数 226
8.3.1 自定义函数 226
8.3.2 函数的调用 227
8.3.3 函数的数据类型 228
实例59:自定义函数——是否是数字 228
实例60:编写Sum(N)=1+2+...+N的函数 229
8.3.4 调用函数的注意事项 229
8.2.5 使用子程序和函数的好处 230
8.3.6 函数的递归调用 232
实例61:第一个递归程序 232
实例62:递归调用求年龄 233
8.3.7 退出子程序和函数 235
8.3.8 跳转功能——GoSub 235
8.4 内置函数 235
8.4.1 字符串函数 236
实例63:从字符串中提取信息 239
8.4.2 时间日期函数 241
实例64:中文格式的日期 242
8.5 习题 242
第9章 Visual Basic中控件的应用 245
9.1 CommandButton控件 246
9.2 Label控件 247
9.3 可编辑的文本框 248
9.3.1 认识文本框 248
实例65:按钮与文本框的配合 249
9.3.2 Text属性的实际应用 250
实例66:计算标准体重 250
9.3.3 使用文本框的注意事项 251
9.3.4 文本框的常用属性 252
实例67:记事本程序 253
9.3.5 文本框的实际应用 253
9.4 选择性控件 255
9.4.1 只能单选的单选框 255
实例68:单选框的应用 255
9.4.2 组成群组的框架 256
实例69:使用框架 256
9.4.3 可以复选的复选框 258
9.5 使用ListBox列表框 259
9.5.1 列表框的常规使用 259
9.5.2 列表框与资料选取 263
9.6 下拉式列表框 265
9.6.2 下拉式列表框所欠缺的功能 266
9.6.3 下拉式列表框的三种样式 266
9.6.1 在程序中操控下拉式列表框 266
9.7 图像处理控件 267
9.7.1 PictureBox图形框控件 267
9.7.2 Image图像控件 268
9.7.3 PictureBox与Image控件的区别 268
9.8 Timer控件 268
实例70:Timer控件的用途 269
9.9 CommonDialog控件 270
9.9.1 “打开”与“另存为”对话框 270
实例71:使用“打开”对话框 272
9.9.2 “颜色”对话框 273
实例72:使用“颜色”对话框 274
9.9.3 “字体”对话框 275
实例73:使用“字体”对话框 277
9.10.1 添加控件 278
9.10 多媒体控件 278
9.10.2 常用的属性 279
9.10.3 多媒体控件的事件 283
9.10.4 制作支持多种媒体格式的播放器 284
实例74:多媒体文件的播放 284
9.11 滚动条 287
实例75:滚动条的应用 288
9.12 习题 290
9.12.1 选择题 290
9.12.2 简答题 290
第10章 事件程序处理 291
10.1 事件程序简介 292
10.1.1 解释Private保留字 292
10.1.3 程序框架的产生方式 293
10.1.2 调用的方法 293
10.2 事件程序 294
实例76:事件驱动的实验 295
实例77:事件发生的对象 296
10.3 处理键盘的事件 297
10.3.1 KeyPress事件 297
10.3.2 KeyAscii参数的意义 297
10.3.3 KeyPress事件的应用 298
实例78:按键追踪程序 298
实例79:只能输入数字的文本框 298
10.3.4 KeyDown事件 300
实例80:键盘控制的飞机 301
实例81:输入焦点与键盘事件 302
10.3.5 KeyUp事件 302
10.3.6 窗体的KeyPreview属性 303
10.4 处理鼠标的事件 305
10.4.1 鼠标移动 305
实例82:MouseMove事件的作用 305
10.4.2 MouseDown、MouseUp、Click事件 306
实例83:鼠标绘制线段 306
实例84:鼠标绘制圆 307
10.4.3 鼠标双击 307
10.5 习题 308
10.5.1 填空题 308
10.5.2 简答题 308
第11章 数据库应用程序 309
11.1 创建第一个数据库应用程序 310
11.1.1 功能简单的数据库应用程序 310
实例85:第一个数据库应用程序 310
11.1.2 第一个数据库程序的相关操作 314
11.1.3 扩展数据库应用程序的功能 315
实例86:增加“添加”和“删除”功能 315
11.2 分析第一个数据库应用程序 316
11.2.1 数据库文件 316
11.2.2 ADODC控件与数据库的关系 317
11.2.3 DataGrid与ADODC之间的关系 318
11.2.4 关键点回顾 318
11.3.1 以实例认识数据库的结构 319
实例87:表的概念 319
11.3 数据库的构成 319
11.3.2 数据库的组织结构 321
11.3.3 创建数据库 323
实例88:创建mdb格式的数据库“订单管理mdb” 323
11.3.4 查询 326
11.3.5 索引 327
实例89:为数据表设置主键 328
11.4 ODBC数据源 329
实例90:建立连接到“订单管理mdb”的ODBC数据源 330
11.5 从数据库中获取所需的部分数据 333
11.5.1 SQL语言初步 333
实例91:选取部分字段的数据 333
实例92:组合式的字段列表 335
11.5.2 最常用的Select语句 335
实例93:给字段起别名 336
11.5.3 带条件表达式的Select语句 337
实例94:获取满足一定条件的数据 337
实例95:动态指定条件并获取满足条件的数据 339
11.6 习题 340
11.6.1 思考题 340
第12章 增强Visual Basic功能的API函数 341
12.1 什么是API函数 342
12.1.1 API函数的作用 342
12.1.2 API与Visual Basic 342
12.2.1 参数传递 343
12.2.2 对象与handle 343
12.2 API函数的特点 343
12.3 API函数的声明 345
12.3.1 声明格式 346
实例96:获得计算机名称 347
12.3.2 API声明的位置 348
实例97:所有模块共用的API函数声明 348
实例98:私用的API函数声明 350
12.3.3 常数的声明 351
12.3.4 自定义类型的声明 351
12.3.5 快速查找API函数的信息 351
12.4 参数的传递 353
12.4.1 数值的传递 353
实例99:绘制焦点矩形 354
12.4.2 自定义类型的参数传递 354
12.4.3 字符串的传递 355
实例100:改变计算机名称 355
12.5 Visual Basic字符串与API函数的字符串 357
12.5.1 Visual Basic的字符串 357
12.5.2 API函数中的字符串 358
12.5.3 API字符串易出现的错误 358
实例101:Visual Basic对字符串的处理 358
12.5.4 传递字符串给API函数的正确方法 359
12.5.5 获取API函数返回的字符串 360
12.5.6 传递字符串参数的误区 361
实例102:创建圆形窗口 361
12.6 习题 364
12.6.1 编程题 364
附录A 习题答案 365