本书分五部分阐述了C++Builder的使用。第一部分“使用C++Builder编程”描述了如何创建一般的C++Builder应用程序;第二部分“开发数据库应用程序”讲述了如何使用数据库工具和组件创建数据库应用程序;第三部分“编写分布式应用程序”描述如何创建Web服务器应用程序;第四部分“开发基于COM的应用程序”描述如何创建可与其他的基于COM的API对象相互操作的应用程序;第五部分“创建定制组件”讲述如何设计和实现自己的组件及如何使它们在IDE的组件面板中可用。本书内容丰富、全面,是C++Builder开发人员的理想手册。\r\n\r\n\r\n
第一部分 使用C++Builder编程\r\n第1章 引言\r\n1.1 本书内容\r\n1.2 本书约定\r\n1.3 开发支持\r\n第2章 C++Builder编程\r\n2.1 集成开发环境概述\r\n2.2 设计应用程序\r\n2.3 理解VCL\r\n2.3.1 属性\r\n2.3.2 方法\r\n2.3.3 事件\r\n2.4 VCL中的对象、组件与控件\r\n2.4.1 TObject分支\r\n2.4.2 TPersistent分支\r\n2.4.3 TComponent分支\r\n2.4.4 TControl分支\r\n2.4.5 TWinControl分支\r\n2.4.6 TControl的共同属性\r\n2.4.7 TControl通用标准事件\r\n2.4.8 TWinControl的共同属性\r\n2.4.9 TWinControl的通用标准事件\r\n2.4.10 创建应用程序用户界面\r\n2.4.11 使用组件\r\n2.4.12 VCL标准组件\r\n2.5 使用帮助对象\r\n2.5.1 使用列表\r\n2.5.2 使用串列表\r\n2.5.3 Windows注册表和INI文件\r\n2.6 开发应用程序\r\n2.6.1 编辑代码\r\n2.6.2 调试应用程序\r\n2.6.3 发布应用程序\r\n第3章 创建应用程序、组件和程序库\r\n3.1 创建应用程序\r\n3.1.1 Windows应用程序\r\n3.1.2 程序设计模板\r\n3.1.3 控制台应用程序\r\n3.1.4 服务应用程序\r\n3.2 创建程序包和DLL\r\n3.3 在C++Builder中使用DLL\r\n3.4 在C++Builder中创建DLL\r\n3.5 创建包含VCL组件的DLL\r\n3.6 链接DLL\r\n3.7 编写数据库应用程序\r\n3.8 创建分布式应用程序\r\n3.8.1 使用TCP/IP的分布式应用程序\r\n3.8.2 使用COM和DCOM的分布式应用程序\r\n3.8.3 使用CORBA的分布式应用程序\r\n3.8.4 分布式数据库应用程序\r\n3.9 使用数据模块和远程数据模块\r\n3.9.1 创建及编辑数据模块\r\n3.9.2 存取窗体的数据模块\r\n3.9.3 向应用程序服务器工程中加入远程数据模块\r\n3.10 使用对象仓库\r\n3.10.1 在工程中共享对象\r\n3.10.2 在对象仓库中加入对象\r\n3.10.3 在小组环境中共享对象\r\n3.10.4 在工程中使用对象仓库的对象\r\n3.10.5 使用工程模板\r\n3.10.6 修改共享对象\r\n3.10.7 指定一个缺省工程、新窗体以及主窗体\r\n第4章 开发应用程序用户界面\r\n4.1 理解TApplication、TScreen和TForm\r\n4.1.1 使用主窗体\r\n4.1.2 加入其他窗体\r\n4.1.3 隐藏主窗体\r\n4.1.4 工作在应用程序层\r\n4.1.5 处理屏幕\r\n4.1.6 管理布局\r\n4.2 处理消息\r\n4.3 窗体的更多细节\r\n4.3.1 控制窗体何时驻留内存\r\n4.3.2 给窗体传递其他参数\r\n4.3.3 从窗体获取数据\r\n4.4 重用组件和组件组\r\n4.5 创建并使用组件模板\r\n4.6 使用框架\r\n4.6.1 创建框架\r\n4.6.2 使用并修改框架\r\n4.6.3 共享框架\r\n4.7 创建并管理菜单\r\n4.7.1 打开菜单设计器\r\n4.7.2 创建菜单\r\n4.7.3 在对象观察器中编辑菜单项\r\n4.7.4 使用菜单设计器上下文菜单\r\n4.7.5 使用菜单模板\r\n4.7.6 将菜单保存为菜单模板\r\n4.7.7 在运行时控制菜单项\r\n4.7.8 合并菜单\r\n4.7.9 引入资源文件\r\n4.8 设计工具栏和酷栏\r\n4.8.1 使用面板组件增加工具栏\r\n4.8.2 使用工具栏组件增加工具栏\r\n4.8.3 增加酷栏组件\r\n4.8.4 响应点击\r\n4.8.5 增加隐藏的工具栏\r\n4.8.6 隐藏和显示工具栏\r\n4.9 使用动作列表\r\n4.9.1 动作对象\r\n4.9.2 使用动作\r\n4.9.3 预定义动作类\r\n4.9.4 编写动作组件\r\n第5章 应用控件\r\n5.1 实现控件拖放操作\r\n5.1.1 开始拖动操作\r\n5.1.2 接受拖动项\r\n5.1.3 放下项\r\n5.1.4 终止拖动操作\r\n5.1.5 通过拖动对象定制拖放操作\r\n5.1.6 改变拖动鼠标指针\r\n5.2 实现控件的拖动-停靠操作\r\n5.2.1 使窗口控件成为一个停靠点\r\n5.2.2 使控件成为一个可停靠子控件\r\n5.2.3 控制子控件如何被停放\r\n5.2.4 控制子控件如何取消停靠\r\n5.2.5 控制子控件如何响应拖动-停靠操作\r\n5.3 处理控件中的文本\r\n5.3.1 设置文本对齐方式\r\n5.3.2 在运行时增加滚动条\r\n5.3.3 增加剪贴板对象\r\n5.3.4 选择文本\r\n5.3.5 选定全部文本\r\n5.3.6 剪切、拷贝及粘贴文本\r\n5.3.7 删除选定文本\r\n5.3.8 禁用菜单项\r\n5.3.9 提供弹出式菜单\r\n5.3.10 处理OnPopup事件\r\n5.4 在控件中加入图形\r\n5.4.1 指定控件为属主绘制控件\r\n5.4.2 给串列表增加图形对象\r\n5.4.3 调整属主绘制项的大小\r\n5.4.4 绘制各属主绘制项\r\n第6章 使用图形和多媒体\r\n6.1 图形编程概述\r\n6.1.1 刷新屏幕\r\n6.1.2 图形对象的样式\r\n6.1.3 画布的通用属性和方法\r\n6.1.4 使用Canvas对象的属性\r\n6.1.5 使用Canvas的方法来绘制图形对象\r\n6.1.6 在应用程序中处理多个绘图对象\r\n6.1.7 在图形中绘制\r\n6.1.8 加载和保存图形文件\r\n6.1.9 使用剪贴板处理图形\r\n6.1.10 拖引线示例\r\n6.2 使用多媒体\r\n6.2.1 将无声的视频剪辑加入应用程序\r\n6.2.2 将声音和/或视频剪辑加入应用程序\r\n第7章 编写多线程应用程序\r\n7.1 定义线程对象\r\n7.1.1 初始化线程\r\n7.1.2 编写线程函数\r\n7.1.3 编写清理代码\r\n7.2 协调线程\r\n7.2.1 避免同时访问\r\n7.2.2 等待其他线程\r\n7.3 执行线程对象\r\n7.3.1 重载缺省优先级\r\n7.3.2 开始和停止线程\r\n7.4 调试多线程应用程序\r\n第8章 异常处理\r\n8.1 C++异常处理\r\n8.1.1 异常处理的ANSI规定\r\n8.1.2 异常处理语法\r\n8.1.3 声明异常\r\n8.1.4 发送异常\r\n8.1.5 处理异常\r\n8.1.6 异常规范\r\n8.1.7 异常处理的构造和析构\r\n8.1.8 未处理的异常\r\n8.1.9 设置异常处理选项\r\n8.2 Win32下的结构异常\r\n8.2.1 结构异常的语法\r\n8.2.2 处理结构异常\r\n8.2.3 异常过滤器\r\n8.2.4 在C++中混用结构异常\r\n8.2.5 定义异常\r\n8.2.6 引发异常\r\n8.2.7 终止块\r\n8.3 VCL异常处理\r\n8.3.1 C++和VCL异常处理之间的差别\r\n8.3.2 处理操作系统异常\r\n8.3.3 处理VCL异常\r\n8.3.4 VCL 异常类\r\n8.3.5 可移植性考虑\r\n第9章 VCL的C++语言支持\r\n9.1 C++和Object Pascal对象模型\r\n9.1.1 对象本身和实例\r\n9.1.2 C++Builder中VCL类的对象构造\r\n9.1.3 在基类构造函数调用虚拟方法\r\n9.1.4 对象析构\r\n9.1.5 AfterConstruction 和 BeforeDestruction\r\n9.1.6 类虚拟函数\r\n9.2 Object Pascal 数据类型和语言概念的支持\r\n9.2.1 Typedefs\r\n9.2.2 支持Object Pascal 语言的类\r\n9.2.3 Object Pascal 语言的C++语言对应\r\n9.2.4 动态数组\r\n9.2.5 定义不同的类型\r\n9.2.6 资源字符串\r\n9.2.7 缺省参数\r\n9.2.8 运行时类型信息\r\n9.2.9 未映射的类型\r\n9.2.10 关键字扩展\r\n9.2.11 _ _declspec关键字扩展\r\n第10章 使用包和组件\r\n10.1 为什么使用包\r\n10.2 运行时包\r\n10.2.1 在应用程序中使用运行时包\r\n10.2.2 动态装载包\r\n10.2.3 决定使用哪个运行时包\r\n10.2.4 定制包\r\n10.3 设计时包\r\n10.4 创建和编辑包\r\n10.4.1 创建包\r\n10.4.2 编辑现有的包\r\n10.4.3 包源文件和工程选项文件\r\n10.4.4 理解包的结构\r\n10.4.5 编译包\r\n10.5 发布包\r\n10.5.1 发布使用包的应用程序\r\n10.5.2 将包发布给其他开发者\r\n10.5.3 包集文件\r\n第11章 创建国际化的应用程序\r\n11.1 国际化和本地化\r\n11.1.1 国际化\r\n11.1.2 本地化\r\n11.2 国际化应用程序\r\n11.2.1 应用程序代码\r\n11.2.2 设计用户界面\r\n11.2.3 分离资源\r\n11.2.4 创建资源DLL\r\n11.2.5 使用资源DLL\r\n11.2.6 动态切换资源DLL\r\n11.3 本地化应用程序\r\n第12章 发布应用程序\r\n12.1 发布一般应用程序\r\n12.2 发布数据库应用程序\r\n12.2.1 提供数据库引擎\r\n12.2.2 多级分布式应用程序服务\r\n12.3 发布Web应用程序\r\n12.4 为各种主机环境编程\r\n12.4.1 屏幕分辨率和颜色浓度\r\n12.4.2 字体\r\n12.4.3 Windows版本\r\n12.5 软件许可证要求\r\n12.5.1 DEPLOY.TXT\r\n12.5.2 README.TXT\r\n12.5.3 No-nonsense许可协议\r\n12.5.4 第三方的产品文档\r\n第二部分 开发数据库应用程序\r\n第13章 设计数据库应用程序\r\n13.1 使用数据库\r\n13.1.1 数据库类型\r\n13.1.2 数据库安全\r\n13.1.3 事务\r\n13.1.4 数据字典\r\n13.1.5 引用完整性、存储过程和触发器\r\n13.2 数据库结构\r\n13.2.1 可扩展性规划\r\n13.2.2 一级数据库应用程序\r\n13.2.3 二级数据库应用程序\r\n13.2.4 多级数据库应用程序\r\n13.3 设计用户接口\r\n13.3.1 显示单条记录\r\n13.3.2 显示多条记录\r\n13.3.3 分析数据\r\n13.3.4 选择要显示的数据\r\n13.3.5 编写报表\r\n第14章 开发一级与二级应用程序\r\n14.1 基于BDE的应用程序\r\n14.1.1 基于BDE的(应用程序)结构\r\n14.1.2 数据库连接\r\n14.1.3 使用事务\r\n14.1.4 缓存更新\r\n14.1.5 创建及重组数据表\r\n14.2 基于ADO的应用程序\r\n14.2.1 基于ADO的应用程序结构\r\n14.2.2 连接到ADO数据库\r\n14.2.3 获取数据\r\n14.2.4 创建并重组ADO数据库表\r\n14.3 flat-file数据库应用程序\r\n14.3.1 创建数据集\r\n14.3.2 装载和存储数据\r\n14.3.3 使用公文包模式\r\n14.4 扩充为三级应用程序\r\n第15章 创建多级应用程序\r\n15.1 多级数据库模式优点\r\n15.2 理解MIDAS技术\r\n15.2.1 基于MIDAS的多级应用程序概述\r\n15.2.2 客户端应用程序结构\r\n15.2.3 应用程序服务器结构\r\n15.2.4 选择连接协议\r\n15.3 创建多级应用程序\r\n15.4 创建应用程序服务器\r\n15.4.1 设置远程数据模块\r\n15.4.2 为应用程序服务器创建一个数据提供者\r\n15.4.3 扩展应用程序服务器接口\r\n15.5 创建客户端应用程序\r\n15.5.1 连接应用程序服务器\r\n15.5.2 管理服务器连接\r\n15.5.3 调用服务器接口\r\n15.6 在多级应用程序中管理事务\r\n15.7 支持主/明细关系\r\n15.8 支持远程数据模块的状态信息\r\n15.9 编写MIDAS Web应用程序\r\n15.9.1 将客户端应用程序以ActiveX控件形式分发\r\n15.9.2 使用InternetExpress创建Web应用程序\r\n15.9.3 使用XML代理\r\n15.9.4 使用MIDAS页生成器创建Web页面\r\n第16章 使用提供者组件\r\n16.1 确定数据源\r\n16.2 选择如何进行更新\r\n16.3 控制包括在数据包里的信息\r\n16.3.1 指定出现在数据包里的字段\r\n16.3.2 设置影响数据包的选项\r\n16.3.3 加入定制信息到数据包\r\n16.4 响应客户端数据请求\r\n16.5 响应客户端更新请求\r\n16.5.1 在更新数据库前编辑delta包\r\n16.5 2 影响更新如何被应用\r\n16.5.3 屏显单独的更新\r\n16.5.4 在提供者端解决更新错误\r\n16.5.5 对不仅涉及单一数据表格的数据集应用更新\r\n16.6 响应客户端产生的事件\r\n16.7 处理服务器限制\r\n第17章 管理数据库会话\r\n17.1 使用一个session组件\r\n17.1.1 使用缺省session\r\n17.1.2 创建额外的session\r\n17.1.3 为session命名\r\n17.1.4 启动session\r\n17.1.5 定制session的启动方式\r\n17.1.6 指定缺省的数据库连接方式\r\n17.1.7 创建、打开和关闭数据库连接\r\n17.1.8 取消临时数据库连接\r\n17.1.9 搜索数据库连接\r\n17.1.10 取得有关session的信息\r\n17.1.11 使用BDE别名\r\n17.1.12 迭代一个session的数据库组件\r\n17.1.13 指定Paradox目录位置\r\n17.1.14 使用有口令保护Paradox和dBASE表\r\n17.2 管理多个session\r\n17.3 在数据模块中使用session组件\r\n第18章 连接到数据库\r\n18.1 理解永久和临时数据库组件\r\n18.1.1 使用临时数据库组件\r\n18.1.2 在设计时创建数据库组件\r\n18.1.3 在运行时创建数据库组件\r\n18.2 控制连接\r\n18.2.1 关联数据库组件与session\r\n18.2.2 指定一个BDE别名\r\n18.2.3 设置BDE别名参数\r\n18.2.4 控制服务器登录\r\n18.2.5 连接到数据库服务器\r\n18.2.6 连接到远程服务器时的特别考虑\r\n18.2.7 关闭与数据库服务器的连接\r\n18.2.8 关闭数据集但不关闭与服务器的连接\r\n18.2.9 迭代数据库组件的数据集\r\n18.3 理解数据库与session组件的交互\r\n18.4 在数据模块中使用数据库组件\r\n18.5 从TDatabase组件中执行SQL语句\r\n18.5.1 从TDatabase执行SQL语句\r\n18.5.2 执行参数化的SQL语句\r\n第19章 理解数据集\r\n19.1 什么是TDataSet\r\n19.2 数据集类型\r\n19.3 打开和关闭数据集\r\n19.4 确定和设置数据集状态\r\n19.4.1 关闭数据集\r\n19.4.2 浏览一个数据集\r\n19.4.3 允许编辑数据集\r\n19.4.4 允许插入新的记录\r\n19.4.5 允许对数据表做索引搜索和取范围\r\n19.4.6 计算字段\r\n19.4.7 过滤记录\r\n19.4.8 更新记录\r\n19.5 浏览数据集\r\n19.5.1 使用First和Last方法\r\n19.5.2 使用Next和Prior方法\r\n19.5.3 使用MoveBy方法\r\n19.5.4 使用Eof和Bof属性\r\n19.5.5 标记并返回到记录位置\r\n19.6 搜索数据集\r\n19.6.1 使用Locate\r\n19.6.2 使用Lookup\r\n19.7 使用过滤器显示和编辑一个数据子集\r\n19.7.1 打开和关闭过滤器\r\n19.7.2 创建过滤器\r\n19.7.3 设置过滤器属性\r\n19.7.4 编写一个OnFilterRecord事件处理程序\r\n19.7.5 设置过滤器选项\r\n19.7.6 浏览过滤后的数据集记录\r\n19.8 修改数据\r\n19.8.1 编辑记录\r\n19.8.2 加入新的记录\r\n19.8.3 删除记录\r\n19.8.4 把数据写入数据库\r\n19.8.5 取消改动\r\n19.8.6 修改整条记录\r\n19.9 使用数据集事件\r\n19.9.1 终止一个方法\r\n19.9.2 使用OnCalcFields\r\n19.10 使用基于BDE的数据集\r\n19.10.1 基于BDE的功能概述\r\n19.10.2 处理数据库和session连接\r\n19.10.3 使用缓存更新\r\n19.10.4 缓存BLOB\r\n第20章 使用字段组件\r\n20.1 理解字段组件\r\n20.1.1 动态字段组件\r\n20.1.2 永久字段组件\r\n20.2 创建永久字段\r\n20.3 排列永久字段\r\n20.4 定义新的永久字段\r\n20.4.1 定义一个数据字段\r\n20.4.2 定义一个计算字段\r\n20.4.3 编写计算字段的程序代码\r\n20.4.4 定义一个查找字段\r\n20.4.5 定义一个合计字段\r\n20.4.6 删除永久字段组件\r\n20.5 设置永久字段的属性和事件\r\n20.5.1 在设计时设置显示和编辑属性\r\n20.5.2 在运行时设置字段组件的属性\r\n20.5.3 创建字段组件的属性集\r\n20.5.4 关联数据集到字段组件\r\n20.5.5 删除关联属性\r\n20.5.6 控制和屏蔽用户输入\r\n20.5.7 为数值、日期和时间字段使用缺省格式\r\n20.5.8 处理事件\r\n20.6 运行时使用字段组件的方法\r\n20.7 显示、转换和存取字段值\r\n20.7.1 在标准控件中显示字段组件值\r\n20.7.2 转换字段值\r\n20.7.3 使用缺省数据集属性存取字段值\r\n20.7.4 使用数据集的Fields属性存取字段值\r\n20.7.5 使用数据集的FieldByName方法存取字段值\r\n20.8 检查字段的当前值\r\n20.9 设置字段的缺省值\r\n20.10 使用限制\r\n20.10.1 创建定制限制\r\n20.10.2 使用服务器限制\r\n20.11 使用对象字段\r\n20.11.1 显示ADT和数组字段\r\n20.11.2 使用ADT字段\r\n20.11.3 使用数组字段\r\n20.11.4 使用数据集字段\r\n20.11.5 使用引用字段\r\n第21章 使用数据表\r\n21.1 使用数据表组件\r\n21.2 设置数据表组件\r\n21.2.1 指定数据库位置\r\n21.2.2 指定数据表名\r\n21.2.3 为本地数据表指定数据表类型\r\n21.2.4 打开、关闭数据表\r\n21.3 控制对数据表的读/写访问\r\n21.4 搜索记录\r\n21.5 排序记录\r\n21.5.1 使用GetIndexNames方法取得可用的索引列表\r\n21.5.2 使用IndexName指定索引\r\n21.5.3 为SQL数据表指定排序顺序\r\n21.5.4 检查索引的字段列表\r\n21.6 使用数据子集\r\n21.6.1 理解范围和过滤器的不同\r\n21.6.2 创建和应用一个新的范围\r\n21.6.3 修改范围\r\n21.7 删除一个数据表中的所有记录\r\n21.8 删除数据表\r\n21.9 重命名数据表\r\n21.10 创建数据表\r\n21.11 从另一个数据表导入数据\r\n21.12 使用TBatchMove\r\n21.12.1 创建批移动组件\r\n21.12.2 指定批移动模式\r\n21.12.3 映射数据类型\r\n21.12.4 执行批移动\r\n21.12.5 处理批移动错误\r\n21.13 链接到相同数据库表的同步数据表\r\n21.14 创建主/明细表\r\n21.15 使用嵌套数据表\r\n第22章 使用查询\r\n22.1 有效地使用查询\r\n22.1.1 对桌面数据库开发者使用查询\r\n22.1.2 对数据库服务器开发者使用查询\r\n22.2 使用查询组件能够存取什么数据库\r\n22.3 使用查询组件概述\r\n22.4 指定要执行的SQL语句\r\n22.4.1 在设计时指定SQL属性\r\n22.4.2 在运行时指定SQL语句\r\n22.5 设置参数\r\n22.5.1 在设计时提供参数\r\n22.5.2 在运行时提供参数\r\n22.5.3 使用数据源绑定参数\r\n22.6 执行查询\r\n22.6.1 在设计时执行查询\r\n22.6.2 在运行时执行查询\r\n22.7 准备查询\r\n22.8 取消查询准备以释放资源\r\n22.9 创建异类查询\r\n22.10 提高查询性能\r\n22.11 使用结果集\r\n22.11.1 允许编辑结果集\r\n22.11.2 对可用结果集的本地SQL要求\r\n22.11.3 对可用结果集的远程服务器SQL要求\r\n22.11.4 更新可用结果集的限制\r\n22.11.5 更新只读结果集\r\n第23章 使用存储过程\r\n23.1 何时使用存储过程\r\n23.2 使用存储过程\r\n23.2.1 创建存储过程组件\r\n23.2.2 创建存储过程\r\n23.2.3 准备和执行存储过程\r\n23.2.4 使用返回结果集的存储过程\r\n23.2.5 使用以参数返回数据的存储过程\r\n23.2.6 使用在数据上执行操作的存储过程\r\n23.3 理解存储过程的参数\r\n23.3.1 使用输入参数\r\n23.3.2 使用输出参数\r\n23.3.3 使用输入/输出参数\r\n23.3.4 使用结果参数\r\n23.3.5 在设计时访问参数\r\n23.3.6 在设计时设置参数信息\r\n23.3.7 在运行时创建参数\r\n23.3.8 绑定参数\r\n23.4 在设计时查看参数信息\r\n23.5 使用Oracle重载存储过程\r\n第24章 使用ADO组件\r\n24.1 ADO组件概况\r\n24.2 连接到ADO数据仓库\r\n24.2.1 使用TADOConnection连接到数据仓库\r\n24.2.2 调整连接\r\n24.2.3 列出数据表和存储过程\r\n24.2.4 使用(连接)事务\r\n24.3 使用ADO数据集\r\n24.3.1 所有ADO数据集组件的共有特点\r\n24.3.2 使用TADODataSet\r\n24.3.3 使用TADOTable\r\n24.3.4 使用TADOQuery\r\n24.3.5 使用TADOStoredProc\r\n24.4 执行命令\r\n24.4.1 指定命令\r\n24.4.2 使用Execute方法\r\n24.4.3 取消命令\r\n24.4.4 使用命令获取结果集\r\n24.4.5 处理命令参数\r\n第25章 创建和使用客户端数据集\r\n25.1 使用客户端数据集处理数据\r\n25.1.1 在客户端数据集中浏览数据\r\n25.1.2 限制记录显示\r\n25.1.3 描述主/明细关系\r\n25.1.4 限制数据值\r\n25.1.5 设置只读数据\r\n25.1.6 编辑数据\r\n25.1.7 排序和索引\r\n25.1.8 表示计算值\r\n25.1.9 使用被维护的合计\r\n25.1.10 加入特定应用程序信息到数据\r\n25.2 从另一个数据集复制数据\r\n25.2.1 直接指定数据\r\n25.2.2 复制一个客户端数据集指针\r\n25.3 使用带有数据提供者的客户端数据集\r\n25.3.1 指定数据提供者\r\n25.3.2 从应用程序服务器得到参数\r\n25.3.3 传送参数给应用程序服务器\r\n25.3.4 重载应用程序服务器上的数据集\r\n25.3.5 从应用程序服务器请求数据\r\n25.3.6 处理限制\r\n25.3.7 更新记录\r\n25.3.8 刷新记录\r\n25.3.9 使用定制事件与提供者通信\r\n25.4 使用带有flat-file数据的客户端数据集\r\n25.4.1 创建新的数据集\r\n25.4.2 从文件或数据流中装载数据\r\n25.4.3 合并更新到数据\r\n25.4.4 存储数据到文件或数据流\r\n第26章 使用缓存更新\r\n26.1 决定何时使用缓存更新\r\n26.2 使用缓存更新概述\r\n26.2.1 允许和禁用缓存更新\r\n26.2.2 提取记录\r\n26.2.3 应用缓存更新\r\n26.2.4 取消未定的缓存更新\r\n26.2.5 撤消删除缓存记录\r\n26.2.6 指定缓存中的可视记录\r\n26.2.7 检查更新状态\r\n26.3 使用更新对象来更新数据集\r\n26.3.1 为数据集指定UpdateObject属性\r\n26.3.2 为更新组件创建SQL语句\r\n26.3.3 执行更新语句\r\n26.3.4 使用数据集组件更新数据集\r\n26.4 更新只读结果集\r\n26.5 控制更新处理\r\n26.5.1 决定是否需要控制更新处理\r\n26.5.2 创建一个OnUpdateRecord事件处理程序\r\n26.6 处理缓存更新错误\r\n26.6.1 引用要应用更新的数据集\r\n26.6.2 指明产生错误的更新类型\r\n26.6.3 指定要执行的动作\r\n26.6.4 使用错误消息文本\r\n26.6.5 访问字段的OldValue、NewValue和CurValue属性\r\n第27章 使用数据控件\r\n27.1 使用通用的数据控件特征\r\n27.1.1 关联数据控件与数据集\r\n27.1.2 编辑并更新数据\r\n27.1.3 禁止和允许数据显示\r\n27.1.4 刷新数据显示\r\n27.1.5 允许鼠标、键盘及定时器事件\r\n27.2 使用数据源\r\n27.2.1 使用TDataSource属性\r\n27.2.2 使用TDataSource事件\r\n27.3 显示单个字段的控件\r\n27.3.1 以标签显示数据\r\n27.3.2 在编辑框中显示和编辑字段\r\n27.3.3 在备注控件中显示和编辑文本\r\n27.3.4 在rich edit备注控件中显示和编辑文本\r\n27.3.5 显示并且编辑在图像控件中的图形\r\n27.3.6 在列表框和组合框中显示和编辑数据\r\n27.3.7 在查找列表和组合框中显示和编辑数据\r\n27.3.8 使用复选框处理布尔型字段值\r\n27.3.9 使用单选组控件限制字段值\r\n27.4 使用TDBGrid查看与编辑数据\r\n27.4.1 使用缺省状态的网格控件\r\n27.4.2 创建定制网格\r\n27.4.3 显示 ADT 和数组字段\r\n27.4.4 设置网格选项\r\n27.4.5 在网格中编辑\r\n27.4.6 在设计时对列重排序\r\n27.4.7 在运行时对列重排序\r\n27.4.8 在运行时响应用户动作\r\n27.5 创建包含其他数据感知控件的网格\r\n27.6 导航和操作记录\r\n27.6.1 选择显示浏览器按钮\r\n27.6.2 显示飞出式帮助\r\n27.6.3 多个数据集使用一个浏览器\r\n第28章 使用决策支持组件\r\n28.1 概述\r\n28.2 关于crosstabs\r\n28.2.1 一维的crosstabs\r\n28.2.2 多维的crosstabs\r\n28.3 使用决策支持组件指南\r\n28.4 使用决策支持组件的数据集\r\n28.4.1 使用TQuery或TTable 创建决策数据集\r\n28.4.2 使用Decision Query编辑器创建决策数据集\r\n28.4.3 决策查询的属性\r\n28.5 使用决策立方\r\n28.5.1 决策立方的属性和事件\r\n28.5.2 使用Decision Cube编辑器\r\n28.6 使用决策源\r\n28.7 使用决策控制轴\r\n28.8 创建和使用决策网格\r\n28.8.1 创建