图书介绍
C++ Builder 5开发人员指南【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (美)Borland;Inprise公司著;梁志刚等译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111081153
- 出版时间:2000
- 标注页数:645页
- 文件大小:50MB
- 文件页数:664页
- 主题词:
PDF下载
下载说明
C++ Builder 5开发人员指南PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 引言1
1.1 本书内容1
第一部分 使用C++Builder编程1
1.2 本书约定2
1.3 开发支持2
第2章 C++Builder编程3
2.1 集成开发环境概述3
2.2 设计应用程序3
2.3 理解VCL3
2.3.1 属性3
2.3.2 方法4
2.3.3 事件4
2.4 VCL中的对象、组件与控件4
2.4.2 TPersistent分支5
2.4.3 TComponent分支5
2.4.1 TObject分支5
2.4.4 TControl分支6
2.4.5 TWinControl分支6
2.4.6 TControl的共同属性7
2.4.7 TControl通用标准事件8
2.4.8 TWinControl的共同属性8
2.4.9 TWinControl的通用标准事件9
2.4.11 使用组件10
2.4.10 创建应用程序用户界面10
2.4.12 VCL标准组件11
2.5 使用帮助对象19
2.5.1 使用列表19
2.5.2 使用串列表19
2.5.3 Windows注册表和INI文件23
2.6 开发应用程序25
2.6.1 编辑代码25
2.6.3 发布应用程序26
2.6.2 调试应用程序26
第3章 创建应用程序、组件和程序库27
3.1 创建应用程序27
3.1.1 Windows应用程序27
3.1.2 程序设计模板28
3.1.3 控制台应用程序28
3.1.4 服务应用程序28
3.2 创建程序包和DLL32
3.3 在C++Builder中使用DLL33
3.4 在C++Builder中创建DLL33
3.5 创建包含VCL组件的DLL34
3.6 链接DLL36
3.7 编写数据库应用程序36
3.8 创建分布式应用程序36
3.8.1 使用TCP/IP的分布式应用程序36
3.8.2 使用COM和DCOM的分布式应用程序37
3.8.3 使用CORBA的分布式应用程序38
3.8.4 分布式数据库应用程序38
3.9 使用数据模块和远程数据模块38
3.9.1 创建及编辑数据模块38
3.9.2 存取窗体的数据模块39
3.9.3 向应用程序服务器工程中加入远程数据模块39
3.10 使用对象仓库39
3.10.1 在工程中共享对象39
3.10.2 在对象仓库中加入对象39
3.10.3 在小组环境中共享对象39
3.10.4 在工程中使用对象仓库的对象40
3.10.5 使用工程模板40
3.10.6 修改共享对象40
3.10.7 指定一个缺省工程、新窗体以及主窗体41
4.1.3 隐藏主窗体42
4.1.2 加入其他窗体42
第4章 开发应用程序用户界面42
4.1 理解TApplication、TScreen和TForm42
4.1.1 使用主窗体42
4.1.4 工作在应用程序层43
4.1.5 处理屏幕43
4.1.6 管理布局43
4.2 处理消息44
4.3 窗体的更多细节44
4.3.1 控制窗体何时驻留内存44
4.3.2 给窗体传递其他参数46
4.3.3 从窗体获取数据46
4.4 重用组件和组件组49
4.5 创建并使用组件模板49
4.6 使用框架50
4.6.1 创建框架50
4.6.2 使用并修改框架50
4.7 创建并管理菜单51
4.6.3 共享框架51
4.7.1 打开菜单设计器52
4.7.2 创建菜单53
4.7.3 在对象观察器中编辑菜单项55
4.7.4 使用菜单设计器上下文菜单56
4.7.5 使用菜单模板57
4.7.6 将菜单保存为菜单模板57
4.7.7 在运行时控制菜单项58
4.7.8 合并菜单58
4.7.9 引入资源文件59
4.8 设计工具栏和酷栏59
4.8.1 使用面板组件增加工具栏59
4.8.2 使用工具栏组件增加工具栏61
4.8.3 增加酷栏组件62
4.8.6 隐藏和显示工具栏63
4.8.4 响应点击63
4.8.5 增加隐藏的工具栏63
4.9 使用动作列表64
4.9.1 动作对象64
4.9.2 使用动作65
4.9.3 预定义动作类67
4.9.4 编写动作组件68
第5章 应用控件71
5.1 实现控件拖放操作71
5.1.1 开始拖动操作71
5.1.2 接受拖动项71
5.1.3 放下项72
5.1.4 终止拖动操作72
5.1.5 通过拖动对象定制拖放操作72
5.2.2 使控件成为一个可停靠子控件73
5.2.3 控制子控件如何被停放73
5.2 实现控件的拖动-停靠操作73
5.2.1 使窗口控件成为一个停靠点73
5.1.6 改变拖动鼠标指针73
5.2.4 控制子控件如何取消停靠74
5.2.5 控制子控件如何响应拖动-停靠操作74
5.3 处理控件中的文本74
5.3.1 设置文本对齐方式75
5.3.2 在运行时增加滚动条75
5.3.3 增加剪贴板对象75
5.3.4 选择文本76
5.3.5 选定全部文本76
5.3.6 剪切、拷贝及粘贴文本76
5.3.7 删除选定文本76
5.3.10 处理OnPopup事件77
5.3.8 禁用菜单项77
5.3.9 提供弹出式菜单77
5.4 在控件中加入图形78
5.4.1 指定控件为属主绘制控件78
5.4.2 给串列表增加图形对象79
5.4.3 调整属主绘制项的大小80
5.4.4 绘制各属主绘制项81
第6章 使用图形和多媒体82
6.1 图形编程概述82
6.1.1 刷新屏幕82
6.1.2 图形对象的样式83
6.1.3 画布的通用属性和方法83
6.1.4 使用Canvas对象的属性84
6.1.5 使用Canvas的方法来绘制图形对象87
6.1.6 在应用程序中处理多个绘图对象89
6.1.7 在图形中绘制93
6.1.8 加载和保存图形文件95
6.1.9 使用剪贴板处理图形96
6.1.10 拖引线示例97
6.2 使用多媒体101
6.2.1 将无声的视频剪辑加入应用程序102
6.2.2 将声音和/或视频剪辑加入应用程序103
第7章 编写多线程应用程序105
7.1 定义线程对象105
7.1.1 初始化线程106
7.1.2 编写线程函数106
7.1.3 编写清理代码108
7.2 协调线程108
7.2.1 避免同时访问108
7.2.2 等待其他线程110
7.4 调试多线程应用程序111
7.3.2 开始和停止线程111
7.3.1 重载缺省优先级111
7.3 执行线程对象111
第8章 异常处理113
8.1 C++异常处理113
8.1.1 异常处理的ANSI规定113
8.1.2 异常处理语法113
8.1.3 声明异常114
8.1.4 发送异常114
8.1.5 处理异常117
8.1.6 异常规范119
8.1.7 异常处理的构造和析构120
8.1.8 未处理的异常120
8.1.9 设置异常处理选项120
8.2 Win32下的结构异常121
8.2.1 结构异常的语法121
8.2.3 异常过滤器122
8.2.2 处理结构异常122
8.2.4 在C++中混用结构异常124
8.2.5 定义异常125
8.2.6 引发异常125
8.2.7 终止块126
8.3 VCL异常处理127
8.3.1 C++和VCL异常处理之间的差别127
8.3.2 处理操作系统异常128
8.3.3 处理VCL异常128
8.3.4 VCL异常类128
8.3.5 可移植性考虑130
第9章 VCL的C++语言支持131
9.1 C++和Object Pascal对象模型131
9.1.1 对象本身和实例131
9.1.2 C++Builder中VCL类的对象构造132
9.1.3 在基类构造函数调用虚拟方法134
9.1.4 对象析构136
9.1.5 AfterConstruction和BeforeDestruction137
9.1.6 类虚拟函数137
9.2 Object Pascal数据类型和语言概念的支持138
9.2.1 Typedefs138
9.2.2 支持Object Pascal语言的类138
9.2.3 Object Pascal语言的C++语言对应138
9.2.4 动态数组139
9.2.5 定义不同的类型141
9.2.6 资源字符串141
9.2.7 缺省参数142
9.2.8 运行时类型信息142
9.2.9 未映射的类型143
9.2.10 关键字扩展144
9.2.11 __declspec关键字扩展145
第10章 使用包和组件147
10.1 为什么使用包147
10.2 运行时包147
10.2.1 在应用程序中使用运行时包147
10.2.2 动态装载包148
10.2.3 决定使用哪个运行时包148
10.2.4 定制包148
10.3 设计时包149
10.4 创建和编辑包150
10.4.1 创建包150
10.4.2 编辑现有的包150
10.4.3 包源文件和工程选项文件151
10.4.4 理解包的结构152
10.4.5 编译包152
10.5.3 包集文件154
10.5.2 将包发布给其他开发者154
10.5 发布包154
10.5.1 发布使用包的应用程序154
第11章 创建国际化的应用程序156
11.1 国际化和本地化156
11.1.1 国际化156
11.1.2 本地化156
11.2 国际化应用程序156
11.2.1 应用程序代码156
11.2.2 设计用户界面160
11.2.3 分离资源160
11.2.4 创建资源DLL160
11.2.5 使用资源DLL161
11.2.6 动态切换资源DLL162
11.3 本地化应用程序162
12.1 发布一般应用程序163
第12章 发布应用程序163
12.2 发布数据库应用程序165
12.2.1 提供数据库引擎165
12.2.1 多级分布式应用程序服务166
12.3 发布Web应用程序166
12.4 为各种主机环境编程166
12.4.1 屏蔽分辨率和颜色浓度167
12.4.2 字体168
12.4.3 Windows版本168
12.5 软件许可证要求168
12.5.1 DEPLOY.TXT168
12.5.2 README.TXT169
12.5.3 No-nonsense许可协议169
12.5.4 第三方的产品文档169
13.1 使用数据库171
13.1.1 数据库类型171
第二部分 开发数据库应用程序171
第13章 设计数据库应用程序171
13.1.2 数据库安全172
13.1.3 事务173
13.1.4 数据字典173
13.1.5 引用完整性、存储过程和触发器174
13.2 数据库结构174
13.2.1 可扩展性规划175
13.2.2 一级数据库应用程序176
13.2.3 二级数据库应用程序176
13.2.4 多级数据库应用程序177
13.3 设计用户接口178
13.3.1 显示单条记录178
13.3.2 显示多条记录178
13.3.4 选择要显示的数据179
13.3.3 分析数据179
13.3.5 编写报表180
第14章 开发一级与二级应用程序181
14.1 基于BDE的应用程序181
14.1.1 基于BDE(应用程序)结构181
14.1.2 数据库连接183
14.1.3 使用事务183
14.1.4 缓存更新186
14.1.5 创建及重组数据表187
14.2 基于ADO的应用程序187
14.2.1 基于ADO的应用程序结构187
14.2.2 连接到ADO数据库188
14.2.3 获取数据188
14.2.4 创建并重组ADO数据库表188
14.3.1 创建数据集189
14.3 flat-file数据库应用程序189
14.3.2 装载和存储数据191
14.3.3 使用公文包模式191
14.4 扩充为三级应用程序192
第15章 创建多级应用程序193
15.1 多级数据库模式优点193
15.2 理解MIDAS技术193
15.2.1 基于MIDAS的多级应用程序概述194
15.2.2 客户端应用程序结构194
15.2.3 应用程序服务器结构195
15.2.4 选择连接协议198
15.3 创建多级应用程序199
15.4 创建应用程序服务器199
15.4.1 设置远程数据模块200
15.5 创建客户端应用程序202
15.4.3 扩展应用程序服务器接口202
15.4.2 为应用程序服务器创建一个数据提供者202
15.5.1 连接应用程序服务器203
15.5.2 管理服务器连接205
15.5.3 调用服务器接口205
15.6 在多级应用程序中管理事务206
15.7 支持主/明细关系206
15.8 支持远程数据模块的状态信息207
15.9 编写MIDAS Web应用程序208
15.9.1 将客户端应用程序以ActiveX控件形式分发209
15.9.2 使用InternetExpress创建Web应用程序209
15.9.3 使用XML代理211
15.9.4 使用MIDAS页生成器创建Web页面213
第16章 使用提供者组件216
16.1 确定数据源216
16.2 选择如何进行更新216
16.3.1 指定出现在数据包里的字段217
16.3.2 设置影响数据包的选项217
16.3 控制包括在数据包里的信息217
16.3.3 加入定制信息到数据包218
16.4 响应客户端数据请求219
16.5 响应客户端更新请求219
16.5.1 在更新数据库前编辑delta包220
16.5.2 影响更新如何被应用220
16.5.3 屏显单独的更新221
16.5.4 在提供者端解决更新错误221
16.5.5 对不仅涉及单一数据表格的数据集应用更新222
16.6 响应客户端产生的事件222
16.7 处理服务器限制222
第17章 管理数据库会话224
17.1 使用一个session组件224
17.1.1 使用缺省session224
17.1.2 创建额外的session225
17.1.3 为session命名226
17.1.4 启动session226
17.1.5 定制session的启动方式227
17.1.6 指定缺省的数据库连接方式227
17.1.7 创建、打开和关闭数据库连接227
17.1.8 取消临时数据库连接228
17.1.9 搜索数据库连接228
17.1.10 取得有关session的信息229
17.1.11 使用BDE别名230
17.1.12 迭代一个session的数据库组件231
17.1.13 指定Paradox目录位置232
17.1.14 使用有口令保护Paradox和dBASE表232
17.2 管理多个session234
17.3 在数据模块中使用session组件235
18.1.1 使用临时数据库组件236
18.1.2 在设计时创建数据库组件236
第18章 连接到数据库236
18.1 理解永久和临时数据库组件236
18.1.3 在运行时创建数据库组件237
18.2 控制连接237
18.2.1 关联数据库组件与session238
18.2.2 指定一个BDE别名238
18.2.3 设置BDE别名参数239
18.2.4 控制服务器登录239
18.2.5 连接到数据库服务器240
18.2.6 连接到远程服务器时的特别考虑240
18.2.7 关闭与数据库服务器的连接241
18.2.8 关闭数据集但不关闭与服务器的连接241
18.2.9 迭代数据库组件的数据集241
18.5 从TDatabase组件中执行SQL语句242
18.5.1 从TDatabase执行SQL语句242
18.4 在数据模块中使用数据库组件242
18.3 理解数据库与session组件的交互242
18.5.2 执行参数化的SQL语句243
第19章 理解数据集245
19.1 什么是TDataSet245
19.2 数据集类型246
19.3 打开和关闭数据集246
19.4 确定和设置数据集状态247
19.4.2 浏览一个数据集248
19.4.1 关闭数据集248
19.4.3 允许编辑数据集249
19.4.4 允许插入新的记录250
19.4.5 允许对数据表做索引搜索和取范围250
19.4.6 计算字段250
19.4.7 过滤记录251
19.4.8 更新记录251
19.5 浏览数据集251
19.5.1 使用First和Last方法251
19.5.4 使用Eof和Bof属性252
19.5.2 使用Next和Prior方法252
19.5.3 使用MoveBy方法252
19.5.5 标记并返回到记录位置254
19.6 搜索数据集255
19.6.1 使用Locate255
19.6.2 使用Lookup256
19.7 使用过滤器显示和编辑一个数据子集256
19.7.1 打开和关闭过滤器257
19.7.2 创建过滤器257
19.7.3 设置过滤器属性257
19.7.4 编写一个OnFilterRecord事件处理程序258
19.7.5 设置过滤器选项258
19.7.6 浏览过滤后的数据集记录259
19.8 修改数据260
19.8.1 编辑记录260
19.8.3 删除记录261
19.8.2 加入新的记录261
19.8.4 把数据写入数据库262
19.8.5 取消改动262
19.8.6 修改整条记录262
19.9 使用数据集事件263
19.9.1 终止一个方法263
19.9.2 使用OnCalcFields264
19.10 使用基于BDE的数据集264
19.10.1 基于BDE的功能概述265
19.10.2 处理数据库和session连接265
19.10.3 使用缓存更新266
19.10.4 缓存BLOB267
第20章 使用字段组件268
20.1 理解字段组件269
20.1.1 动态字段组件269
20.2 创建永久字段270
20.1.2 永久字段组件270
20.4 定义新的永久字段271
20.3 排列永久字段271
20.4.1 定义一个数据字段272
20.4.2 定义一个计算字段272
20.4.3 编写计算字段的程序代码273
20.4.4 定义一个查找字段273
20.4.5 定义一个合计字段274
20.4.6 删除永久字段组件275
20.5 设置永久字段的属性和事件275
20.5.1 在设计时设置显示和编辑属性275
20.5.2 在运行时设置字段组件的属性276
20.5.3 创建字段组件的属性集276
20.5.5 删除关联属性277
20.5.5 控制和屏蔽用户输入277
20.5.4 关联数据集到字段组件277
20.5.7 为数值、日期和时间字段使用缺省格式278
20.5.8 处理事件278
20.6 运行时使用字段组件的方法279
20.7 显示、转换和存取字段值279
20.7.1 在标准控件中显示字段组件值279
20.7.2 转换字段值280
20.7.3 使用缺省数据集属性存取字段值281
20.7.4 使用数据集的Fields属性存取字段值281
20.7.5 使用数据集的FieldByName方法存取方法281
20.8 检查字段的当前值282
20.9 设置字段的缺省值282
20.10 使用限制282
20.10.1 创建定制限制282
20.10.2 使用服务器限制282
20.11.1 显示ADT和数组字段283
20.11 使用对象字段283
20.11.2 使用ADT字段284
20.11.3 使用数组字段285
20.11.4 使用数据集字段285
20.11.5 使用引用字段286
第21章 使用数据表287
21.1 使用数据表组件287
21.2 设置数据表组件287
21.2.1 指定数据库位置287
21.2.2 指定数据表名288
21.2.3 为本地数据表指定数据表类型288
21.2.4 打开、关闭数据表289
21.3 控制对数据表的读/写访问289
21.4 搜索记录290
21.5.2 使用IndexName指定索引292
21.5.1 使用GetIndexNames方法取得可用的索引列表292
21.5 排序记录292
21.5.3 为SQL数据表指定排序顺序293
21.5.4 检查索引的字段列表294
21.6 使用数据子集294
21.6.1 理解范围和过滤器的不同294
21.6.2 创建和应用一个新的范围295
21.6.3 修改范围297
21.7 删除一个数据表中的所有记录297
21.8 删除数据表298
21.9 重命名数据表298
21.10 创建数据表298
21.11 从另一个数据表导入数据299
21.12 使用TBatchMove300
21.12.1 创建批移动组件300
21.12.2 指定批移动模式301
21.12.5 处理批移动错误302
21.12.3 映射数据类型302
21.12.4 执行批移动302
21.13 链接到相同数据库表的同步数据表303
21.14 创建主/明细表303
21.15 使用嵌套数据表304
第22章 使用查询306
22.1 有效地使用查询306
22.1.1 对桌面数据库开发者使用查询306
22.1.2 对数据库服务器开发者使用查询307
22.2 使用查询组件能够存取什么数据库307
22.3 使用查询组件概述307
22.4 指定要执行的SQL语句308
22.4.1 在设计时指定SQL属性309
22.4.2 在运行时指定SQL语句309
22.5 设置参数310
22.5.2 在运行时提供参数311
22.5.1 在设计时提供参数311
22.5.3 使用数据源绑定参数312
22.6 执行查询312
22.6.1 在设计时执行查询313
22.6.2 在运行时执行查询313
22.7 准备查询314
22.8 取消查询准备以释放资源314
22.9 创建异类查询314
22.10 提高查询性能315
22.11 使用结果集315
22.11.1 允许编辑结果集315
22.11.2 对可用结果集的本地SQL要求316
22.11.3 对可用结果集的远程服务器SQL要求316
22.11.4 更新可用结果集的限制316
22.11.5 更新只读结果集316
23.1 何时使用存储过程317
第23章 使用存储过程317
23.2 使用存储过程318
23.2.1 创建存储过程组件318
23.2.2 创建存储过程318
23.2.3 准备和执行存储过程319
23.2.4 使用返回结果集的存储过程319
23.2.5 使用以参数返回数据的存储过程320
23.2.6 使用在数据上执行操作的存储过程321
23.3 理解存储过程的参数323
23.3.1 使用输入参数323
23.3.2 使用输出参数323
23.3.3 使用输入/输出参数324
23.3.4 使用结果参数324
23.3.5 在设计时访问参数324
23.3.7 在运行时创建参数325
23.3.6 在设计时设置参数信息325
23.3.8 绑定参数326
23.4 在设计时查看参数信息326
23.5 使用Oracle重载存储过程327
第24章 使用ADO组件328
24.1 ADO组件概况328
24.2 连接到ADO数据仓库329
24.2.1 使用TADOConnection连接到数据仓库329
24.2.2 调整连接331
24.2.3 列出数据表和存储过程332
24.2.4 使用(连接)事务334
24.3 使用ADO数据集334
24.3.1 所有ADO数据集组件的共有特点335
24.3.2 使用TADODataSet339
24.3.3 使用TADOTable340
24.3.4 使用TADOQuery341
24.3.5 使用TADOStoredProc342
24.4 执行命令344
24.4.1 指定命令344
24.4.2 使用Execute方法345
24.4.3 取消命令345
24.4.4 使用命令获取结果集345
24.4.5 处理命令参数346
第25章 创建和使用客户端数据集347
25.1 使用客户端数据集处理数据347
25.1.1 在客户端数据集中浏览数据347
25.1.2 限制记录显示347
25.1.3 描述主/明细关系348
25.1.4 限制数据值348
25.1.5 设置只读数据348
25.1.6 编辑数据349
25.1.7 排序和索引350
25.1.8 表示计算值351
25.1.9 使用被维护的合计352
25.1.10 加入特定应用程序信息到数据354
25.2 从另一个数据集复制数据354
25.2.1 直接指定数据354
25.2.2 复制一个客户端数据集指针355
25.3 使用带有数据提供者的客户端数据集355
25.3.1 指定数据提供者355
25.3.2 从应用程序服务器得到参数356
25.3.3 传送参数给应用程序服务器356
25.3.4 重载应用程序服务器上的数据集357
25.3.5 从应用程序服务器请求数据357
25.3.6 处理限制358
25.3.7 更新记录359
25.3.9 使用定制事件与提供者通信361
25.3.8 刷新记录361
25.4 使用带有flat-file数据的客户端数据集362
25.4.1 创建新的数据集362
25.4.2 从文件或数据流中装载数据362
25.4.3 合并更新到数据363
25.4.4 存储数据到文件或数据流363
第26章 使用缓存更新364
26.1 决定何时使用缓存更新364
26.2 使用缓存更新概述364
26.2.1 允许和禁用缓存更新365
26.2.2 提取记录365
26.2.3 应用缓存更新366
26.2.4 取消未定的缓存更新368
26.2.5 撤消删除缓存记录369
26.2.6 指定缓存中的可视记录369
26.2.7 检查更新状态370
26.3 使用更新对象来更新数据集371
26.3.1 为数据集指定UpdateObject属性371
26.3.2 为更新组件创建SQL语句372
26.3.3 执行更新语句375
26.3.4 使用数据集组件更新数据集377
26.4 更新只读结果集377
26.5 控制更新处理378
26.5.1 决定是否需要控制更新处理378
26.5.2 创建一个OnUpdateRecord事件处理程序378
26.6 处理缓存更新错误379
26.6.1 引用要应用更新的数据集380
26.6.2 指明产生错误的更新类型380
26.6.3 指定要执行的动作380
26.6.4 使用错误消息文本381
26.6.5 访问字段的OldValue、New Value和Cur Value属性381
27.1 使用通用的数据控件特征383
第27章 使用数据控件383
27.1.2 编辑并更新数据384
27.1.1 关联数据控件与数据集384
27.1.3 禁止和允许数据显示385
27.1.4 刷新数据显示385
27.1.5 允许鼠标、键盘及定时器事件386
27.2 使用数据源386
27.2.1 使用TDataSource属性386
27.2.2 使用TDataSource事件387
27.3 显示单个字段的控件388
27.3.1 以标签显示数据388
27.3.2 在编辑框中显示和编辑字段388
27.3.3 在备注控件中显示和编辑文本388
27.3.5 显示并且编辑在图像控件中的图形389
27.3.6 在列表框和组合框中显示和编辑数据389
27.3.4 在rich edit备注控件中显示和编辑文本389
27.3.7 在查找列表和组合框中显示和编辑数据390
27.3.8 使用复选框处理布尔型字段值392
27.3.9 使用单选组控件限制字段值392
27.4 使用TDBGrid查看与编辑数据393
27.4.1 使用缺省状态的网格控件393
27.4.2 创建定制网格394
27.4.3 显示ADT和数组字段397
27.4.4 设置网格选项398
27.4.5 在网格中编辑399
27.4.6 在设计时对列重排序400
27.4.7 在运行时对列重排序400
27.4.8 在运行时响应用户动作400
27.5 创建包含其他数据感知控件的网格401
27.6 导航和操作记录402
27.6.1 选择显示浏览器按钮402
27.6.3 多个数据集使用一个浏览器403
27.6.2 显示飞出式帮助403
第28章 使用决策支持组件405
28.1 概述405
28.2 关于crosstabs406
28.2.1 一维的crosstabs406
28.2.2 多维的crosstabs406
28.3 使用决策支持组件指南406
28.4 使用决策支持组件的数据集407
28.4.1 使用TQuery或TTable创建决策数据集407
28.4.2 使用Decision Query编辑器创建决策数据集408
28.4.3 决策查询的属性408
28.5 使用决策立方408
28.5.1 决策立方的属性和事件408
28.6 使用决策源409
28.5.2 使用Decision Cube编辑器409
28.7 使用决策控制轴410
28.8 创建和使用决策网络410
28.8.1 创建决策网络411
28.8.2 使用决策网格411
28.8.3 决策网格属性411
28.9 创建和使用决策图412
28.9.1 创建决策图412
28.9.2 使用决策图412
28.9.3 决策图显示413
28.9.4 定制决策图413
28.10 运行时的决策支持组件415
28.10.1 运行时的决策控制轴415
28.11.2 设置维状态416
28.11 决策支持组件和内存控制416
28.11.1 设置最大维、合计及单元416
28.10.3 运行时的决策图416
28.10.2 运行时的决策网格416
28.11.3 使用分页维417
第三部分 编写分布式应用程序419
第29章 编写CORBA应用程序419
29.1 CORBA应用程序概述419
29.1.1 了解存根和框架420
29.1.2 使用聪明代理420
29.1.3 激活服务器应用程序421
29.1.4 动态绑定接口调用421
29.2 编写CORBA服务程序421
29.2.1 定义对象的接口421
29.2.2 使用CORBA服务器向导422
29.2.3 从IDL文件生成存根和框架422
29.2.4 使用CORBA对象的实现向导423
29.2.5 实现CORBA对象424
29.2.6 改变CORBA接口426
29.2.7 注册服务器接口427
29.3 编写CORBA客户程序427
29.3.1 使用存根427
29.3.2 使用动态调用接口428
29.4 测试CORBA服务器429
29.4.1 建立测试工具429
29.4.2 记录和运行测试的脚本430
第30章 创建Internet服务器应用程序431
30.1 术语和标准431
30.1.1 统一资源定位符URL的构成431
30.1.2 HTTP请求报文头信息432
30.2 HTTP服务器的活动432
30.2.1 构造客户请求432
30.2.2 处理客户请求432
30.3 Web服务器应用程序433
30.3.1 Web服务器应用程序的分类433
30.2.3 响应客户请求433
30.3.2 创建Web服务器应用程序434
30.3.3 Web模块434
30.3.4 Web应用程序对象435
30.4 Web服务器应用程序的结构435
30.5 Web派发器435
30.5.1 为派发器添加处理项436
30.5.2 派发请求报文436
30.6 处理项436
30.6.1 确定处理项的触发时间436
30.6.2 利用处理项响应客户请求437
30.7 访问客户请求的信息438
30.7.1 包含了请求报文头信息的属性438
30.7.2 HTTP请求报文的内容439
30.8 创建HTTP响应报文439
30.8.2 设置报文的内容440
30.8.1 填写响应报文的头440
30.8.3 发送应答信息441
30.9 生成响应报文的内容441
30.10 在响应报文中使用数据库信息444
30.10.1 给Web模块添加一个会话444
30.10.2 用HTML表示数据库的信息444
30.11 调试服务器应用程序446
30.11.1 调试ISAPI和NSAPI应用程序446
30.11.2 调试CGI和Win-CGI应用程序448
第31章 使用套接字450
31.1 实现服务450
31.1.1 理解服务协议450
31.1.2 服务和端口450
31.3.1 说明主机451
31.3 说明套接字451
31.2.3 服务器连接451
31.2.2 侦听连接451
31.2 套接字连接的类型451
31.2.1 客户连接451
31.3.2 使用端口452
31.4 使用套接字组件452
31.4.1 使用客户套接字452
31.4.2 使用服务器套接字453
31.5 响应套接字的事件454
31.5.1 出错事件454
31.5.2 客户事件454
31.5.3 服务器事件455
31.6 通过套接字连接读写数据455
31.6.1 非阻塞连接455
31.6.2 阻塞连接456
第四部分 开发基于COM的应用程序459
第32章 COM技术概述459
32.1.1 COM接口460
32.1 COM应用程序的构成460
32.1.2 COM服务器461
32.1.3 COM客户463
32.2 COM扩展464
32.2.1 自动化服务器465
32.2.2 活动服务器页465
32.2.3 ActiveX控件466
32.2.4 活动文档466
32.2.5 事务对象466
32.2.6 类型库467
32.3 使用向导实现COM对象469
第33章 使用类型库473
33.1 类型库编辑器473
33.1.1 类型库编辑器的部件473
33.1.2 类型库元素477
33.1.3 使用类型库编辑器478
33.2 发布类型库484
第34章 创建COM客户程序486
34.1 引入类型库信息486
34.1.1 使用Import Type Library对话框487
34.1.2 使用Import ActiveX对话框487
34.1.3 引入类型库信息后生成的代码488
34.2 控制引入的对象489
34.2.2 使用组件包装器489
34.2.2 使用数据感知的Active X控件490
34.2.3 使用Microsoft Word打印文档的例子491
34.2.4 编写基于类型库定义的客户代码493
34.3 为没有类型库的服务器创建客户程序495
35.1 创建COM对象概述496
35.2 设计COM对象496
第35章 创建简单的COM服务器程序496
35.3 使用COM对象向导497
35.4 使用自动化对象向导497
35.5 指定ATL选项500
35.6 定义COM对象接口500
35.6.1 为对象接口添加属性501
35.6.2 给对象接口添加方法501
35.6.3 提供客户事件501
35.7 自动化接口502
35.7.1 双向接口502
35.7.2 派发接口503
35.7.3 自定义接口503
35.8 调度数据503
35.8.1 自动化兼容的类型503
35.9.1 注册进程内服务器504
35.9 注册COM对象504
35.8.3 自定义调度504
35.8.2 自动化调度的类型限制504
35.9.2 注册进程外服务器505
35.10 调试应用程序505
第36章 创建活动服务器页506
36.1 创建活动服务器对象506
36.1.1 使用ASP本征507
36.1.2 为进程内或进程外服务器创建ASP510
36.2 注册活动服务器对象510
36.2.1 注册一个进程内服务器510
36.2.2 注册一个进程外服务器510
36.3 测试和调试活动服务器页应用程序510
第37章 创建ActiveX控件512
37.1 创建ActiveX控件概述512
37.2 设计ActiveX控件513
37.3 从VCL控件生成ActiveX控件514
37.4 创建基于VCL窗体的ActiveX控件515
37.5 ActiveX控件的许可证控制515
37.6 自定义ActiveX控件接口516
37.6.1 添加附加的属性、方法和事件517
37.6.2 使简单数据与类型库的绑定518
37.7 为ActiveX控件创建属性页520
37.7.1 创建属性页520
37.7.2 向属性页添加控件520
37.7.3 把属性页与ActiveX控件的属性关联521
37.7.4 把属性页与ActiveX控件关联521
37.8 注册ActiveX控件522
37.9 测试ActiveX控件522
37.10 在网络上发布ActiveX控件522
第38章 创建MTS或COM+对象524
38.1 理解事务对象524
38.2.1 访问对象的前后关系525
38.2 管理资源525
38.2.2 及时激活526
38.2.3 资源共享526
38.2.4 对象共享529
38.3 MTS和COM+的事务支持530
38.3.1 事务的特性530
38.3.2 状态相关和状态无关对象531
38.3.3 影响事务如何结束531
38.3.4 初始化事务532
38.3.5 事务超时534
38.4 基于角色的安全性534
38.5 创建事务对象概述535
38.6 使用事务对象向导535
38.7 生成COM+事件537
38.7.1 使用事件对象向导537
38.8 传递对象指针538
38.7.2 使用COM+事件对象激发事件538
38.9 调试和测试事务对象539
38.10 安装事务对象539
38.11 管理事务对象540
第五部分 创建定制组件541
第39章 组件创建概述541
39.1 可视组件库541
39.2 组件和类542
39.3 如何创建组件542
39.3.1 修改已有的控件542
39.3.2 创建窗口控件543
39.3.3 创建图形控件543
39.3.4 子类Windows控件543
39.3.5 创建不可视组件543
39.4 组件内部有什么543
39.4.2 属性、方法和事件544
39.4.1 消除相关性544
39.4.3 图形封装545
39.4.4 注册545
39.5 创建新组件545
39.5.1 使用组件向导546
39.5.2 手工创建组件547
39.6 测试未安装的组件549
39.7 测试已安装的组件551
39.8 安装组件到组件面板551
39.8.1 定位组件文件552
39.8.2 添加组件552
第40章 组件开发员的面向对象编程553
40.1 定义新类553
40.1.1 派生新类553
40.3 控制访问554
40.2 祖先、后代和类层次结构554
40.1.2 声明新组件类554
40.3.1 隐藏实现细节555
40.3.2 定义组件开发员接口557
40.3.3 定义运行时接口557
40.3.4 定义设计时接口557
40.4 派发方法557
40.4.1 常规方法558
40.4.2 虚拟方法558
40.5 抽象类成员559
40.6 类与指针559
第41章 创建属性560
41.1 为什么要创建属性560
41.2 属性的类型560
41.4 定义属性561
41.4.1 属性声明561
41.3 发布继承的属性561
41.4.2 内部数据存储562
41.4.3 直接访问562
41.4.4 访问方法562
41.4.5 缺省属性值564
41.5 创建数组属性565
41.6 存储和载入属性565
41.6.1 使用存储-载入机制566
41.6.2 指定缺省值566
41.6.3 决定存储内容567
41.6.4 载入后的初始化567
41.6.5 存储和载入未发布的属性567
42.1.1 事件是closure569
42.1.2 事件是属性569
第42章 创建事件569
42.1 什么是事件569
42.1.3 事件类型是closure类型570
42.1.4 事件处理程序是可选的570
42.2 实现标准事件571
42.2.1 标识标准事件571
42.2.2 使事件可见571
42.3.1 触发事件572
42.3.2 定义处理程序类型572
42.3 定义你自己的事件572
42.2.3 改变标准的事件处理572
42.3.3 声明事件573
42.3.4 调用事件573
第43章 创建方法575
43.1 避免相关性575
43.2 命名方法575
43.5 声明方法576
43.4 虚拟方法576
43.3.1 应为public的方法576
43.3 保护方法576
43.3.2 应为protected的方法576
第44章 在组件中使用图形578
44.1 图形概述578
44.2 使用画布579
44.3 使用图片579
44.3.1 使用图片、图形或画布579
44.3.2 载入和存储图形580
44.3.3 处理调色板580
44.4 幕后位图581
44.4.1 创建和管理幕后位图581
44.4.2 拷贝幕后位图581
44.5 响应改变581
45.1 理解消息处理系统583
45.1.1 Windows消息中有什么583
第45章 处理消息583
45.1.2 派发消息584
45.2 修改消息处理584
45.2.1 重载处理器方法584
45.2.2 使用消息参数585
45.2.3 屏蔽消息585
45.3 创建新的消息处理器586
45.3.1 定义自己的消息586
45.3.2 声明一个新的消息处理方法587
第46章 使组件在设计时可用588
46.1 注册组件588
46.1.1 声明Register函数588
46.1.2 编写Register函数588
46.2 添加组件面板位图590
46.3 为你的组件提供帮助590
46.4.1 派生属性编辑器类592
46.4 添加属性编辑器592
46.4.2 将属性作为文本进行编辑593
46.4.3 将属性作为整体进行编辑593
46.4.4 指定编辑器特性594
46.4.5 注册属性编辑器594
46.5 添加组件编辑器595
46.5.1 向上下文菜单添加项目595
46.5.2 改变双击时的行为596
46.5.3 添加剪贴板格式597
46.5.4 注册组件编辑器597
46.6 属性范畴598
46.6.1 一次注册一个属性598
46.6.2 一次注册多个属性598
46.6.3 属性范畴类598
46.6.4 使用IsPropertyInCategory函数599
46.7 将组件编译成软件包599
46.8 解决定制组件问题600
第47章 修改已有的组件601
47.1 创建和注册该组件601
47.2 修改组件类602
47.2.1 重载构造函数602
47.2.2 指定新的缺省属性值603
第48章 创建图形组件604
48.1 创建和注册组件604
48.2 发布继承的属性605
48.3 添加图形能力605
48.3.1 决定画什么605
48.3.2 重载构造函数和析构函数606
48.3.3 发布笔和刷子607
48.3.4 绘制组件图像609
48.3.5 调整形状绘制610
49.1 创建和注册组件612
第49章 定制网格612
49.3 修改初始值613
49.2 发布继承的属性613
49.4 重定义单元大小614
49.5 填充单元615
49.6 定位月和年份619
49.7 定位日期620
49.7.1 移动选择620
49.7.2 提供OnChange事件620
49.7.3 排除空白单元621
第50章 创建数据感知控件622
50.1 创建数据浏览控件622
50.1.1 创建和注册组件622
51.1 定义组件接口623
50.1.2 创建只读的控件623
50.1.3 添加数据链接625
50.1.4 响应数据修改627
50.2 创建数据编辑控件627
50.2.1 修改FReadOnly的缺省值628
50.2.2 处理鼠标按下和键盘按下消息628
50.2.3 更新字段数据链接类629
50.2.4 修改Change方法630
50.2.5 更新数据集630
第51章 创建对话框组件632
51.2 创建和注册组件632
51.3 创建组件接口633
51.3.1 包含窗体单元文件633
51.3.2 添加接口属性634
51.3.3 添加Execute方法634
51.4 测试组件636
附录 ANSI具体实现标准637
热门推荐
- 1820943.html
- 1923372.html
- 1835343.html
- 3221636.html
- 304801.html
- 174325.html
- 3385374.html
- 1410244.html
- 3732594.html
- 545327.html
- http://www.ickdjs.cc/book_449121.html
- http://www.ickdjs.cc/book_404377.html
- http://www.ickdjs.cc/book_3566809.html
- http://www.ickdjs.cc/book_3129137.html
- http://www.ickdjs.cc/book_179397.html
- http://www.ickdjs.cc/book_3473416.html
- http://www.ickdjs.cc/book_2269755.html
- http://www.ickdjs.cc/book_1827888.html
- http://www.ickdjs.cc/book_3628436.html
- http://www.ickdjs.cc/book_2338483.html