目录 1
引言 1
第1部分 Visual Basic 3.0的发展与概述 1
第1章 Visual Basic系统 1
1.1 对象、事件和动态程序设计 1
1.2 应用程序开发初步 2
本书的内容组织 3
本书的约定 3
1.3 Visual Basic:一种自然发展的语言 3
1.4 面向对象程序设计概要 3
1.5 消息决定控制流 4
1.6 也可以把一个应用程序当作一个对象 5
1.7 面向对象的程序设计,Visual Basic风格 6
1.8 面向事件的程序设计的真实工作过程 8
1.9 运用Change事件来触发自动的和实时的更新 9
1.10 运用Focus事件自动初始化动作 11
1.11 为什么应该使用面向事件的机制 11
1.12 Visual Basic的对象懂得如何识别事件 12
1.13 在界面中把对象和代码对应起来 12
1.14 如果不确定,设计动态应用程序 13
1.15 一些设计思想和附注 13
1.16 设计适应变化的应用程序 14
1.17 统一的用户访问:IBM倡议的一组原则 16
1.18 其他设计注意事项 17
1.19 开发出动态的风格 18
1.20 可以使用一个或多个窗体吗 18
1.21 错误和出错处理 18
1.22 本章小结 18
第2章 Visual Basic语言技巧与深入 19
2.1 Visual Basic应用程序的组成部分 19
2.3 固定长度和可变长度的字符串:为什么这会造成使用上的差别 21
2.2 比较麻烦的问题:关于变量作用域和内存分配的讨论 21
2.4 变量类型的详细说明 24
2.5 声明变量基础 25
2.6 用Dim语句声明窗体级和局部变量 27
2.7 使用GLOBAL语句声明全局变量 27
2.8 用数组分组变量 28
2.9 怎样使用动态数组 29
2.10 用控制项数组建立动态应用程序 30
2.11 用户定义类型 31
2.12 什么时候使用静态变量? 34
2.13 关于控制结构的详细说明 34
2.13.1 IF...THEN语句 35
2.13.2 IF...THEN...ELSE语句 35
2.13.3 SELECT...CASE语句 35
2.13.5 什么时候用Do循环 36
2.14 重复执行语句中哪个最快 36
2.13.4 什么时候用FOR循环 36
2.15 用过程指定任务 37
2.16 递归的奥秘 38
2.16 其他的Basic与Visual Basic 40
2.17 本章小结 41
第3章 动态事件:控制项、菜单和动态数组 42
3.1 控制项数组:摘要 42
3.2 利用控制项数组开发一个动态电子表格 44
3.3 利用Change事件自动化电子表格单元格的更新 48
3.3.1 级联事件:一个主要的NO_NO 49
3.3.2 增加新功能:自动求均方差、方差和标准偏差 50
3.3.3 如何有选择地删除单元格 52
3.3.4 根据排序控制项排列电子表格单元格 52
3.3.5 避免更多的级联事件 53
3.3.6 如何保存并装入电子表格数据 55
3.3.7 如何控制Tab的次序 60
3.4 简化用户的工作:创建动态菜单 61
3.5 系统命令:使用Shell 66
3.6 使用动态数组节约内存 70
3.7 本章小结 72
第4章 使用数字和窗体 73
4.1 把两个数学函数放在同一窗体中 74
4.2 为什么使用非局部变量 74
4.2.1 增加平方根控制项 75
4.2.2 增加最大公约数控制项 75
4.2.3 为应用程序创建菜单 76
4.2.4 设置窗体和控制项的属性 77
4.2.5 文字框的格式讨论 79
4.3 概述:控制项的Tab次序 82
4.4 完成数学函数的多窗体版本 83
4.5 让用户感到更方便:使用键盘快捷键 84
4.5.1 设计细节 86
4.6 MATH2的详细设计 88
4.7 显示和隐藏多个窗体:内存及存取的考虑 93
4.8 建立一个简单的内存检查应用程序 95
4.9 本章小结 101
第5章 通过中断循环和DoEvents来实现多任务 103
5.1 给项目增加一个图形窗体 103
5.2 怎样使用选择框 104
5.2.1 比例尺 106
5.3 混沌和不规则的渐近曲线 110
5.3.1 动态建模系统 110
5.3.2 数学渐近曲线 112
5.3.3 混沌中的有序 112
5.3.4 通过DoEvents()实现真正的多任务 116
5.3.5 给窗体增加一个比例尺 117
5.4 DoEvents() 118
5.5 在图片框中绘制不规则的渐近曲线 122
5.6 当窗体调整大小时改变图片框的大小 122
5.7 找出质数+DoEvents() 124
5.8 Henon、Rossler及Lorenz渐近曲线 126
5.9 本章小结 132
第2部分 Visual Basic 3.0的开发 133
第6章 文件,目录和代码指南(Code Wizard) 133
6.1 Code Wizard:第一版 135
6.2 建立一个模板文件I/O窗体 135
6.3 使用改变事件 135
6.4 触发和使用改变事件 136
6.5 设置文件模式 137
6.6 导出新的文件I/O窗体 137
6.7 节省精力:复用代码和窗体 139
6.8 建立文件I/O模块 139
6.9 进入到Wizard的核心 141
6.9.1 如何在文件中找到匹配模式 141
6.9.3 动态维护和存储使用列表 142
6.9.2 如何隐藏命令按钮 142
6.10 如何编写一个高效率的查找过程 143
6.11 使用二进制输入和输出来优化文件I/O 144
6.12 用剪贴板来删除、拷贝和粘贴文本 148
6.13 查错 149
6.14 Report窗体 150
6.15 本章小结 157
7.1 编译错误的定义 158
第7章 运行期间的防护措施:错误和错误处理 158
7.2 运行错误的定义 159
7.3 可捕获错误的定义 159
7.4 如何设置和触发错误处理陷阱 176
7.5 ON ERROR:一些本质的细节 179
7.6 使用ERR和ERL:更多的一点细节 182
7.7 重温Wizard 183
7.8 文件处理问题 183
7.9 建立一个通用错误处理程序 189
7.10 本章小结 196
第8章 扩充Visual Basic应用程序:深入讨论DDE 197
8.1 DDE内部 197
8.2 连接两个Visual Basic应用程序 198
8.2.1 准备一个服务器程序 198
8.2.2 建立客户程序 198
8.2.3 用控制项的链接属性建立链接 200
8.2.4 为自动更新建立热链接 201
8.2.5 建立一个冷链接 202
8.2.6 从链接请求数据(如果你已经建立了一个冷链接) 202
8.3 通过链接发送数据 202
8.4 增加一个错误处理程序(CLIENT1B) 204
8.5 设计注释:重编一个客户程序——菜单项而不是控制项(CLIENT1C) 209
8.6 让用户说明一个服务器程序(CLIENT1C) 209
8.7 处理服务器程序、链接主题和链接项错误 213
8.8 控制数组之间的DDE连接(CLIENT2) 219
8.9 避免多个实例使用两个:AppActivate和错误处理 224
8.10 建立一个通用DDE窗体 225
8.11 插入用户选择的EXCEL单元格 226
8.12 本章小结 232
第9章 扩充Visual Basic:用户自定义控制项和DLL 233
9.1 重点回顾:如何装入用户自定义控制项 234
9.2 深入DLL:扩展Visual Basic 234
9.3 如同调用Visual Basic程序一样调用DLL程序 236
9.4 传递(小心地)数组元素给DLL 238
9.5 用API优化控制项操作 240
9.6 使用汇编语言程序而不使用API 242
9.7 进一步讨论用户自定义控制项及其他事情 246
9.8 用户自定义控制项应用程序:自定义键状态 247
9.9 用户自定义控制项应用程序:自定义GAUGES 252
9.10 建立GAUGES的一个控制项数组 254
9.11 使用API控制用户输入 256
9.12 使用Crescent.VBX来考察你的系统 261
9.13 本章小结 263
第10章 Wizard项目编辑器和Wizard剪贴板 264
10.1 使用公用对话自定义控制项 265
10.2 使用API将文字框设置成大于32K 271
10.3 打开一个项目 272
10.4 查找和替换 274
10.5 使用API来恢复 277
10.6 调试 278
10.7 使用Shell命令和记录器进行自动调试 280
10.8 建立一个特殊化的剪贴板(Wizard剪贴板) 282
10.9 用DDE窗体将Wizard与Wizard剪贴板连接起来 283
10.10 本章小结 304
第11章 深入OLE(对象链接与嵌入)核心 305
11.1 OLE基本概念 306
11.2 链接的和嵌入的对象 307
11.3 在设计时怎么用OLE自定义控制项来创建对象 308
11.4 关于Action属性 309
11.5 关于Class,OLeTypeAllowed,SourceDoc,和SourceItem属性 310
11.6 OLETYPE和OLETYPEAllowed属性 310
11.6.1 关于SourceDoc和SourceItem属性 312
11.6.2 动词 314
11.7 OLE2a,嵌入和链接对象 314
11.8 OLE2b——OLE及MDI 319
11.9 创建一个MDI窗体 320
11.10 创建一个编辑器子窗体 320
11.11 创建对象 322
11.12 MDI更新及编辑例程 324
11.13 MDI窗口管理 325
11.14 剪贴板例程 325
11.15 本章小结 335
第12章 DDE,自定义控制项和DLL内部细节 336
12.1 关于神经网络 337
12.3 开发步骤 340
12.2 建立一个神经网络应用程序 340
12.4 将你的应用程序与一个DLL连接起来 341
12.5 连接网络与Microsoft Excel 344
12.6 一些细节:DoEVENTS(),修改REPORT窗体,等等 346
12.7 处理神经网络错误 346
12.8 用对象编辑器保持与Excel的OLE链接 348
12.9 本章小结 364
第13章 对象、实例和MDI 365
13.1 在运行期间建立对象的新实例 365
13.2 Command_Click:建立一个新的窗体实例 366
13.3 Me保留字 367
13.4 Command2_Click:卸出一个窗体实例 367
13.5 Command3_Click:证实何时建立窗体实例 368
13.6 集合 371
13.7 Multins2:使用窗体集合 371
13.8 Multins3:用菜单代替命令按钮 374
13.9 MDI如何工作 378
13.10 建立一个MDI窗体 380
13.11 建立一个编辑器子窗体 381
13.12 在运行期间建立一个新的子窗体 383
13.13 本章小结 397
第14章 使用网格自定义控制项和附加的PRHALL.VBX 398
14.1 关于网格 398
14.2 Compose1——prhall.vbx的声明 401
14.3 建立一个Player窗体 401
14.4 建立Composer窗体 402
14.5 Compose2——使用网格来建立一个乐器指板 408
14.6 建立Compose2的程序代码 409
14.7 使用Form_Load建立乐器指板 410
14.8 处理单击网格事件 411
14.9 查找音符(FindNote) 411
14.10 清除音符、清除乐曲和乐曲编辑 412
14.12 Text_Change事件 413
14.11 演奏音符或演奏乐曲的选项 413
14.13 文件I/O 414
14.14 本章小结 420
第15章 数据觉察和数据管理 421
15.1 Visual Basic 3.0数据管理器 422
15.2 如何从数据管理器中打开数据库 423
15.3 如何用数据管理器建立数据库 423
15.4 建立非Microsoft Access格式的外部数据库 424
15.5 修改表格中的数据 424
15.6 如何建立索引 427
15.7 如何压缩数据库 429
15.8 如何修复数据库 430
16.9 在Visual Basic中进行数据访问 431
15.10 数据库对象简介 431
15.11 将数据觉察控制项联编到数据控制项上 433
15.12 数据访问应用程序1 435
15.13 建立窗体来察看/编辑表CONTACTS 437
15.14 数据访问应用程序2 439
15.15 在代码中建立数据库 442
15.16 本章小结 444
附录A 第三方软件商的支持和自定义控制项 445
附录B 红利应用程序 447
B.1 红利应用程序1:BLACKJACK 447
B.2 红利应用程序2:MUSIC 466
B.3 一些第三方软件商的赠品 475
B.3.1 Outrider Systems,Inc.(旋转按钮) 475
B.3.2 Crescent Software(瞬时改变滚动条和自定义例程) 477
B.3.3 Sheridan Software(三维命令按钮控制项和三维面板) 478
B.3.4 三维面板控制项 479
B.3.5 API编辑控制项实例 481
词汇表 484