第一章 概论 1
1-1 为何要使用Visual Basic 1
1-2 软硬件需求 1
目录 1
1-3 Visual Basic操作环境 2
1-4 Visual Basic常用名词汇总 8
第二章 基本操作 10
2-1 单窗体简易实例入门 10
范例2-1 简易实例入门 10
第二章 基本操作 10
范例目录 10
范例2-2 如何使用多文件窗体 25
2-2 多窗体实例 25
范例2-3 如何使用多重文件窗体 31
2-3 多重文件窗体实例(Multiple-document Interface) 31
范例2-4-1 如何查询“Col”属性 35
2-4 如何使用联机帮助文件 35
范例2-4-2 如何执行帮助文件内的范例 37
第三章 对象 39
第三章 对象 39
3-2 窗体(Form) 41
3-1 常用共同属性 41
范例3-2 如何使用窗体(Form) 42
3-3 标签框(Label Box) 43
范例3-3 如何使用标签框(Label Box) 44
范例3-4 如何使用文本框(Text Box) 45
3-4 文本框(Text Box) 45
范例3-5 如何使用命令钮(Command Button)作加减乘除运算 46
3-5 命令纽(Command Button) 46
3-6 图片框(Picture Box) 52
范例3-6 如何使用图片框(Picture Box)作加减乘除运算 53
范例3-7 如何使用图象框(Image Box)作图形的缩放移动 56
3-7 图象框(Image Box) 56
3-8 线段(Line) 58
范例3-8 如何使用直线(Line)对象 59
3-9 外形(Shape) 59
范例3-9 如何使用外形(Shape)画矩形、圆或椭圆 60
3-10 核对框(Check Box) 60
范例3-10 如何使用核对框(Check Box)确认某些条件 61
范例3-11 如何使用选项钮(Option Button)选择某些条件 63
3-11 选项钮(Option Button) 63
3-12 框架(Frame) 65
范例3-12 如何使用框架(Frame)来分类选项钮 66
范例3-13 如何使用水平、垂直滚动条(Horizontal、Vertical Bar) 71
3-13 水平滚动条与垂直滚动条(Horizontal and Vertical Scroll Bar) 71
范例3-14 如何使用调试器(Debug) 73
3-14 调试器(Debug) 73
3-15 数据库(Data) 74
范例3-15-1 如何使用数据库(Data)对象读取数据表格(Table) 75
范例3-15-2 如何使用数据库(Data)对象增加、删除数据 76
范例3-15-3 如何使用Data Manager建立数据表(Table) 78
范例3-15-4 如何使用数据库联系对象展示图形、照片等数据 81
范例3-16-1 如何使用网格对象(Grid)输出9×9乘法表 83
3-16 网格(Grid)对象 83
范例3-16-2 如何使用网格对象(Grid)输出数据库表格内容 85
3-17 列表框(List Box) 87
范例3-17 如何使用列表框(List Box)作医师处方笺 87
3-18 组合框(Combo Box) 89
范例3-18 如何使用组合框(Combo Box)作输入选择 90
范例3-19 如何使用剪贴簿(ClipBoard)制作简易小作家程序 92
3-19 剪贴簿对象(Clipboard) 92
3-20 共用对话框(Common Dialog) 95
范例3-20 如何使用共用对话框(Command Dialog)存取图形 96
3-21 驱动器列表框(Drive List Box) 99
范例3-21 如何使用驱动器列表框(Drive List Box) 99
3-22 目录列表框(Directory List Box) 100
范例3-22 如何使用目录列表框(Directory List Box) 101
3-23 文件列表框(File List Box) 102
范例3-23 如何模拟共用对话框的功能 103
范例3-23-1 如何打印出VB所有图形库 105
3-24 时间对象(Timer) 110
范例3-24 如何使用时间(Timer)对象设计数字时钟 111
3-25 菜单(Menu) 112
范例3-25 如何使用菜单(Menu) 113
以下为专业版对象 117
范例3-26 如何使用立体核对框(3D Check Box) 117
【以下为专业版对象】 117
3-26 立体核对框(3D Check Box) 117
范例3-27 如何使用立体命令钮(3D Command Button) 119
3-27 立体命令钮(3D Command Button) 119
3-28 立体框架(3D Frame) 121
范例3-29 如何使用立体选项钮(3D Option Button) 122
3-29 立体选项钮(3D Option Button) 122
3-30 立体可分组按压开关(3D Group Push Button) 124
范例3-30 如何使用立体可分组按钮(3D Group Push Button) 125
范例3-31 如何使用立体标签(3D Panel) 127
3-31 立体标签(3D Panel) 127
3-32 动画按钮(Animated Button) 129
范例3-32 如何使用动画按钮(Animated Button)制作动画 129
3-33 仪表(Gauge) 132
范例3-33 如何使用仪表(Gauge)显示打字速度 132
3-34 微调旋转按钮(Spin Button) 134
范例3-34 如何使用旋转按钮(Spin Button) 135
范例3-35 如何使用键盘状态(Key Status) 137
3-35 键盘状态按钮(Key Status) 137
3-36 样板输入文本框(Masked Edit) 138
范例3-36 如何使用样板输入文本框(Masked Edid)作为输入提示 139
3-37 图形数据库(Picture Clip) 141
3-38 分级输出(Outline) 141
范例3-37 如何使用图形数据库(Picture Clip) 142
范例3-38-1 如何使用分级输出对象(Outline)分级输出数据 146
范例3-38-2 如何建立分级输出数据 148
3-39 图形(Graph) 150
范例3-39-1 如何绘制三维柱状图(3D Bar Chart) 151
范例3-39-2 如何绘制三维圆饼图(3D Pie Chart) 152
范例3-39-3 如何绘制直线图(Line Chart) 153
范例3-39-4 如何绘制三维柱状图(3D Bar Chart) 155
范例3-39-5 如何绘制累加图(Area Chart) 156
范例3-39-6 如何绘制累加图(Area Chart) 157
范例3-39-7 如何绘制甘特图(Gantt Chart) 158
范例3-39-8 如何绘制直角坐标函数图(Scatter Chart) 159
范例3-39-10 如何模拟速算表的绘图功能 160
范例3-39-9 如何绘制极坐标函数图(Polor Chart) 160
范例4-1 如何使用KeyPress 164
第四章 事件 164
4-1 KeyPress 164
第四章 事件 164
4-2 KeyDown,KeyUp 165
范例4-2-1 如何显示用户按键 166
范例4-2-2 如何制作简易动画游戏 166
4-5 MouseDown,MouseUp,MouseMove 169
4-4 Dblclick 169
4-3 Click 169
范例4-5-1 如何制作简易画笔 170
范例4-5-2 如何制作按键辅助说明 171
范例4-6-1 如何拖放对象 173
4-6 DragDrop 173
范例4-6-2 如何手动拖放对象 174
范例4-6-3 如何制作智慧盘方块游戏 175
范例4-6-4 如何制作拼图游戏 177
范例4-7 如何拖放对象 179
4-7 DragOver 179
4-8 Change 181
4-9 Load 181
范例4-10 如何使用Unload 182
4-10 Unload 182
范例4-11 如何使用QueryUnload 183
4-11 QueryUnload 183
4-12 Resize 184
范例4-12 如何使用Resize 185
4-13 Paint 185
范例4-13-1 如何使用Paint 186
范例4-13-2 如何使用Paint 187
第五章 VB数据类型 188
第五章 数据类型 188
5-1 VB数据类型 188
5-2 如何说明变量 189
5-3-1 如何使用日期与时间(Date/Time) 190
5-3 如何使用不定类型(Variant) 190
5-3-3 如何使用虚值(Null) 191
5-3-2 如何使用未输入(Empty)数据 191
5-4 常量符号 192
范例5-4-1 示范变量与常量的生命周期 193
范例5-4-2 示范Static与Dim的差别 195
6-1 算术算符 196
第六章 表达式(Expression) 196
6-2 比较算符 197
6-3 逻辑算符 198
6-3-1 And 198
6-3-2 Or 200
6-3-3 Not 201
6-4 Like 202
习题 203
第七章 选择结构 205
7-1 If Then 205
第七章 选择结构 205
范例7-1 如何使用If Then 205
7-2 如何使用流程图 206
7-3 If...Then...ElseIf...Else 208
范例7-3-1 如何使用If…Then…ElseIf…Else 209
范例7-3-2 如何使用If Then 211
7-4 Select Case 212
范例7-4-1 如何使用Select Case 213
范例7-4-2 如何使用Select Case作水费计算 214
范例7-4-3 判断三角形直角、钝角、锐角 216
习题 218
第八章 重复结构 219
第八章 重复结构 219
8-1 For…Next 219
范例8-1-1 计算1+2+3…+10之和 220
范例8-1-2 计算2.1+1.9+…+(-7.1)之和 222
8-2 嵌套循环(Nested Loop) 223
范例8-2-1 计算1至100的和10次 223
范例8-2-2 嵌套循环示范 225
范例8-2-3 找出三位数的阿姆斯壮数 226
范例8-2-4 印出9×9乘法表 227
8-3 Do…Loop 229
范例8-3-1 以前测试循环Do…Loop求1至10之和 230
范例8-3-3 如何以输入特殊值结束输入工作 231
范例8-3-2 以后测试循环Do…Loop求1至10之和 231
范例8-3-4 Do…While示范 232
8-4 GoTo 232
习题 233
范例8-4 Goto示范 233
范例9-1-1 一维数组示范 235
第九章 数组 235
第九章 数组 235
9-1 静态数据数组 235
范例9-1-2 一维数组示范 237
范例9-1-3 如何汽泡排序 238
范例9-1-4 求费氏数列 240
范例9-1-5 如何将阿拉伯数字转为中文大写 241
范例9-1-6 二维数组示范与基数排序法 242
范例9-1-7 二维数组示范与数据查询 246
范例9-2-1 动态数组示范 248
9-2 动态数据数组 248
范例9-2-2 动态数组示范 249
9-3 静态对象数组 251
9-3-1 对象数组的产生方法 251
9-3-2 如何使用对象数组 252
范例9-3-1 静态对象数组示范 252
范例9-3-2 静态对象数组示范 254
9-4 动态对象数组 256
范例9-4-1 动态对象数组示范 256
范例9-4-2 动态对象数组与矩阵相加 259
范例9-4-3 动态对象数组与矩阵相乘 262
范例9-4-4 动态对象数组与魔术矩阵 266
9-5 用户自定类型 268
范例9-5-1 用户自定类型示范 269
范例9-5-2 用户自定类型示范 272
习题 275
第十章 函数 277
第十章 函数 277
范例10-1-1 如何四舍五入 278
10-1-1 Int 278
10-1 数值函数 278
10-1-2 Fix 280
10-1-3 Sqr 280
10-1-4 Abs 281
范例10-1-4A Abs示范 282
范例10-1-4B 打印出字母W 282
范例10-1-4C 二分猜值法求根 283
10-1-5 Rnd 286
10-1-6 Sgn 287
范例10-1-6 求二元一次方程式根的性质 288
10-1-7 Hex 288
10-1-8 Oct 290
10-1-9 Log 290
范例10-1-9 Log函数图 291
范例10-1-10 Exp函数图 292
10-1-10 Exp 292
10-1-11 Sin 293
范例10-1-11 Sin函数图 294
范例10-1-12 Cos函数图 295
10-1-12 Cos 295
范例10-1-13 Tan函数图 296
10-1-13 Tan 296
10-1-14 Atn 297
范例10-1-14 Atn函数图 298
范例10-2-1 如何打印出ANSI码 299
10-2-1 Chr 299
10-2 字符串函数 299
10-2-2 Asc 301
范例10-2-3 统计图 302
10-2-3 String 302
10-2-4 Len 303
10-2-5 Left 304
10-2-6 Right 304
10-2-8 Lcase 305
10-2-7 Mid 305
10-2-10 LTrim 306
10-2-9 Ucase 306
10-2-11 RTrim 307
10-2-12 Trim 307
10-2-14 Val 308
10-2-13 Str 308
10-2-15 InStr 309
范例10-2-15 如何模拟文字处理“取代”功能 310
10-2-16 StrComp 313
10-3-2 Date 314
10-3 时间函数 314
10-3-1 Now 314
10-3-3 Time 315
10-3-4 Timer 315
10-3-5 Date 316
10-3-6 Time 317
10-3-7 DateSerial 317
10-3-8 TimeSerial 318
10-3-9 DateValue 319
10-3-10 TimeValue 319
范例10-3-11 打印出闰年 320
10-3-11 Year 320
10-3-12 Month 321
10-3-13 Day 321
10-3-14 Hour 322
10-3-15 Minute 322
10-3-16 Second 323
范例10-3-16 如何将时间改为几时几分几秒输出 324
10-3-17 DatePart 324
10-3-18 DateAdd 326
10-3-19 DateDiff 327
范例10-3-19 如何设计简易万年历 328
10-4-1 数据类型转换函数 328
10-4 数据类型函数 328
10-5-1 RGB 329
10-5 输出输入函数 329
10-4-2 VarType 329
范例10-5-1 RGB示范 330
10-5-2 InputBox 331
10-5-3 MsgBox 332
10-5-4 Format 334
10-5-5 LoadPicture 338
10-5-6 QBColor 338
10-6-2 Choose 339
10-6-1 IIf 339
10-6 比较测试函数 339
10-6-3 Switch 340
10-7 杂项函数 341
10-7-1 LBound 341
10-7-2 UBound 341
10-7-3 Partition 342
范例10-7-3A 以Partition分析整体与个人资料分布 342
范例10-7-3B 以Partition分析整体学生成绩分布与分布圆饼图 345
习题 347
范例11-1-1 求C?而不使用子程序 349
第十一章 子程序与用户自定函数 349
第十一章 子程序与用户自定函数 349
11-1 子程序Sub 351
范例11-1-2 使用子程序求C?之值 351
11-2 用户自定函数Function 353
范例11-2 使用用户自定函数求C?之值 354
11-3 参数的传递 354
11-3-1 传址调用 355
11-3-2 传值调用 355
范例11-3-1 示范传址调用 355
范例11-3-2A 示范ByVal传值调用 356
范例11-3-2B 示范加括号法传值调用 356
11-4-1 个别数据的传递 357
11-4 各种数据类型的传递范例 357
范例11-4-1 示范个别数据的传递 357
11-4-2 数组的传递 358
范例11-4-2 示范数组数据的传递 358
11-5 递归 359
范例11-5-1 以递归子程序求正数的平方根 359
范例11-5-2 以递归函数求正数的平方根 360
范例11-5-3 以递归法求10+9+8+…十1之和 360
范例11-5-5 以递归作快速排序法 361
范例11-5-4 以递归求费氏数列 361
范例11-5-6 以非递归作快速排序法 363
习题 367
第十二章 绘图 368
12-1 坐标系统 368
12-1-1 如何改变坐标单位 368
第十二章 绘图 368
范例12-1-1 示范ScaleMode 369
12-1-2 如何改变坐标系统 370
范例12-1-2A 如何于窗体左下角订坐标原点 370
12-2 绘图方法 371
范例12-1-2B 如何于窗体中心点订坐标原点 371
12-2-1 Pset 372
范例12-2-1 示范Pset 372
12-2-2 Line 373
12-2-3 Circle 374
范例12-2-2 示范Line 374
范例12-2-3A 示范圆与椭圆的绘制 375
范例12-2-3B 示范绘弧 375
范例12-2-4 示范Cls 376
12-2-4 Cls 376
12-2-5 Point 377
范例12-2-5A 图象扫描与放大 377
范例12-2-5B 图象扫描与旋转 378
范例12-2-5C 图象扫描与图形比对 379
12-3 绘图对象的有关属性 380
范例12-3 示范绘图有关的属性 381
12-4 如何存取图形文件 383
12-4-2 如何存图形文件——SavePicture指令 383
12-4-1 取图形文件——LoadPicture函数 383
范例12-4A 示范简易调色盘的作法 384
范例12-4B 示范指针式时钟 387
习题 389
13-1-1 如何读取顺序文件 391
第十三章 文件 391
13-1 顺序存取(Sequential Access) 391
第十三章 文件 391
范例13-1-1 示范如何读取顺序文件 392
范例13-1-2 示范如何存储顺序文件 393
13-1-2 如何存储顺序文件 393
范例13-1-3 简易小作家程序 394
13-2 随机存取(Random Access) 400
范例13-2-1 示范如何读取随机文件 401
13-2-1 如何读取随机文件 401
范例13-2-2 示范如何写入随机文件 404
13-2-2 如何写入随机文件 404
13-3 二进制存取(Binary Access) 405
14-1 VB数据库简介 406
第十四章 数据库 406
第十四章 数据库 406
14-2 数据库管理器(Data Manager) 407
14-2-1 如何打开新的数据库 407
14-2-2 如何打开已存在的数据库 408
范例14-2-2 示范如何打开dBASEⅢ数据库文件 408
14-2-3 如何建立、新增及删除数据表 409
14-2-4 如何建立与新增字段 409
范例14-2-6 示范如何新增索引文件 410
14-2-5 如何更正、新增、删除及查询记录 410
14-2-6 如何建立、新增及删除索引 410
14-2-7 如何修复及优化数据库 412
14-3-1 Database 412
14-3 数据库对象 412
范例14-3-2 示范Database及TableDefs对象的使用 413
14-3-2 TableDefs 413
14-3-3 Fields 415
范例14-3-3 示范Fields对象的使用 416
14-4 数据集对象(Recordset Objects) 418
14-4-1 Table 418
范例14-4-1A 示范Table对象的使用 419
14-4-2 Dynaset 420
范例14-4-2A 示范如何以Dynaset读取窗体 421
范例14-4-2B 示范如何以Dynaset配合SQL读取窗体 422
范例14-4-3A 示范如何以Snapshot读取窗体 423
14-4-3 Snapshot 423
范例14-4-3B 示范如何以Dynaset配合SQL读取窗体 424
范例14-4-3C 示范如何读取用户指定数据库的指定数据表 426
14-5 记录的排序 428
范例14-5-1 示范以Sort属性排序 428
范例14-5-2 示范使用SQL排序 429
14-5-1 如何使用数据集Sort属性排序 429
14-5-2 如何使用SQL排序 429
14-6 如何查询记录 431
14-6-1 如何使用数据集Filter属性查询记录 431
范例14-6-1 示范使用Filter查询记录 431
14-6-2 如何使用SQL查询记录 432
范例14-6-2 示范使用SQL查询记录 432
范例14-6-3 示范使用Find查询记录 433
14-6-3 如何使用Find查询记录 433
14-6-4 如何使用Seek查询记录 434
范例14-6-4 示范使用Seek查询记录 435
14-7-1 如何增加记录 436
14-7 如何增加、修改、删除记录 436
范例14-7-1 示范如何增加记录 437
范例14-7-2 示范如何修改记录 438
14-7-2 如何修改记录 438
14-7-3 如何删除记录 439
范例14-7-3A 示范如何删除记录 439
范例14-7-3B 示范如何增加、修改及删除记录 439
第十五章 SQL 443
15-1 SELECT 443
第十五章 SQL(Structured Query Language) 443
15-2 FROM项目的使用 444
15-3 查询条件WHERE 446
15-4 GROUP BY项目的使用 450
15-5 ORDER BY项目的使用 451
范例15 SQL范例总集 452
第十六章 报表管理器 456
第十六章 报表管理器(Report Designer) 456
16-1 基本操作 456
16-1-1 如何进入VB报表管理器 456
16-1-2 命令按钮简介 456
16-1-3 如何联机查询 457
范例16-2-1 示范如何使用报表管理器 458
16-2 基本单元 458
16-2-1 范例入门——打印数据表 458
范例16-2-2 示范如何设定报表标题 463
16-2-2 如何设定报表标题 463
16-2-3 如何设定日期及页码 464
范例16-2-3 示范如何设定日期及页码 464
16-2-4 如何设定记录编号 465
范例16-2-4 示范如何设定记录编号 465
16-2-5 如何加大Page header范围 466
范例16-2-5 示范如何加大Page header范围 466
范例16-2-6 示范如何于数据记录之间空一行 467
16-2-6 如何使数据记录之间空一行 467
16-2-7 如何在打印数据时加底线 468
范例16-2-7 示范如何于打印数据时加底线 468
范例16-2-8 示范如何于打印数据时加网格 469
16-2-8 如何在打印数据时加网格 469
16-2-9 如何设置边界 470
范例16-3-1 示范如何设定输出顺序 471
16-3 进阶单元 471
16-3-1 如何设置输出顺序 471
16-3-2 如何设置打印条件 472
范例16-3-2 示范如何设定打印条件 472
16-3-3 如何设置运算字段 473
范例16-3-3 示范如何设定运算字段 473
范例16-3-4 示范如何设定标志字段 476
16-3-4 如何设置标志字段 476
范例16-3-5 示范如何统计数据 477
16-3-5 如何统计数据 477
16-3-6 如何使用关联来联结不同数据表于同一报表文件 478
范例16-3-6 示范如何使用数据表关联 478
16-4 分组打印 480
16-4-1 如何分组打印 480
范例16-4-1 示范如何分组打印 480
16-4-2 如何使用副分组打印 482
范例16-4-2 示范如何副分组打印 482
16-5 如何使用Crystal对象打印报表文件 483
范例16-5 示范如何使用Crystal对象打印报表文件 484
第十七章 综合范例 中盘商进销存管理系统 486
第十七章 综合范例 486
习题 502
附录A ANSI字符集 503
附录B 如何安装Visual Basic for Windows 505