《Delphi6开发人员指南》
Delphi 教程 系列书籍 (003) 《 Delphi6 开发人员指南》 网友(邦)整理 EMail: shuaihj@163.com
下载地址:
原书名:Delphi 6 Developer's Guide
原出版社:SAMS
出版社: 机械工业出版社
作者: (美)Steve Teixeira,Xavier Pacheco
丛书名: Borland/Inprise核心技术丛书
译者: 龙劲松 王瑜 谢尚书
上架日期:2005-10-8
出版日期:2003-1-1
页数: 版次:1-3 ISBN:7111109686
装帧: 附带光盘 开本:16开
内容简介
本书是讲述Delphi最经典的著作之一,作为Delphi的新版本,Delphi 6不仅能帮助程序员高效开发Windows应用程序,简化Web服务、中间软件以及后台数据库系统的合成,还是目前惟一全面支持所有主流业界标准的开发工具和提高电子商务能力的利器。本书内容丰富、条理清晰,用深入浅出的语言阐述了Delphi 6的精髓,对Delphi或即将移植到Delphi的程序员来说,具有极大的参考价值。本书最后还介绍了Delphi在Internet方面的应用。在移动商务网络编程越来越热的今天,无疑会成为程序员关注的焦点
目录
第一部分 基本知识
第1章 Delphi编程简介
1.1 Delphi的产品家族介绍
1.2 认识Delphi
l.2.1 可视化开发环境的特性
1.2.2 编译器速度和编译后代码执行效率
1.2.3 编程语言的功能和复杂性的对立
1.2.4 数据库结构的灵活性和可扩展性
1.2.5 实现机制对设计和使用模式的增强
1.3 历史回顾
1.3.1 Delphi 1
1.3.2 Delphi 2
1.3.3 Delphi 3
1.3.4 Delphi 4
1.3.5 Delphi 5
1.3.6 Delphi 6
1.4 Delphi IDE环境
1.4.1 主窗口
1. 4. 2 主菜单
1.4.3 Delphi工具栏
1. 4. 4 组件选项板
1.4.5 窗体设计器
1.4.6 对象观察器
1.4.7 代码编辑器
1. 4. 8 代码浏览器
1. 4. 9 对象层次图
1.5 项目源文件概述
1.6 应用程序简介
1.7 事件处理机制的优势
1.8 快速原型化
1.9 可扩展的组件和环境
1.10 必须掌握的10种IDE功能
1.11 小结
第2章 Object Pascal语言
2.1 注释
2.2 扩展过程和函数特性
2.2.1 函数调用中的圆括号
2.2.2 重载
2.2.3 缺省参数值
2.3 变量
2.4 常量
2.5 运算符
2.5.1 赋值运算符
2.5.2 比较运算符
2.5.3 逻辑运算符
2.5.4 数学运算符
2.5.5 按位运算符
2.5.6 增/减量运算
2.5.7 "计算-赋值"运算符
2.6 Object Pascal类型
2.6.1 类型比较
2.6.2 字符类型
2.6.3 字符串
2.6.4 变体类型
2.6.5 货币类型
2.7 用户自定义类型
2.7.1 数组
2.7.2 动态数组
2.7.3 记录
2.7.4 集合
2.7.5 对象
2.7.6 指针
2.7.7 类型别名
2.8 类型转换和强制类型转换
2.9 字符串资源
2.10 条件判断语句
2.10.1 if语句
2.10.2 case语句
2.11 循环
2.11.1 for循环
2.11.2 while循环
2.11.3 repeat..until循环
2.11.4 Break()过程
2.11.5 Continue()过程
2.12 过程和函数
2.13 作用域
2.14 单元
2.14.1 uses子句
2.14.2 单元循环引用
2.15 包
2.15.1 使用Delphi包
2.15.2 包的语法格式
2.16 面向对象编程
2.17 使用Delphi对象
2.17.1 声明和实例化
2.17.2 析构
2.17.3 方法
2.17.4 方法的类型
2.17.5 属性
2.17.6 可见区域说明符
2.17.7 友元类
2.17.8 对象的秘密
2.17.9 TObject:所有对象的祖先
2.17.10 接口
2.18 结构化异常处理
2.18.1 异常类
2.18.2 异常执行流程
2.18.3 异常的再激活
2.19 运行时信息
2.20 小结
第3章 理解Windows消息
3.1 什么是消息
3.2 消息的类型
3.3 Windows消息系统的工作方式
3.4 Delphi的消息系统
3.5 消息的处理
3.5.1 消息处理:并非无约定
3.5.2 为Result消息值赋值
3.5.3 TApplication类型的OnMessage事件
3.6 发送自己的消息
3.6.1 Perform()方法
3.6.2 SendMessage()和PostMessage()API函数
3.7 非标准消息
3.7.1 通知消息
3.7.2 内部VCL消息
3.7.3 用户定义消息
3.8 剖析VCL的消息系统
3.9 消息和事件之间的关系
3.10 小结
第二部分 高级技术
第4章 编写可移植代码
4.1 版本兼容的共性
4.1.1 版本判断
4.1.2 单元、组件和包
4.1.3 关于IDE的讨论
4.2 Delphi和Kylix兼容性
4.2.1 Linux中不具备的特性
4.2.2 编译器和语言特性
4.2.3 平台相关特点
4.3 Delphi 6的新特性
4.3.1 变体变量
4.3.2 枚举类型
4.3.3 $IF指示符
4.3.4 潜在的二进制DFM的不兼容
4.4 从Delphi 5升级
4.4.1 可写的类型常量
4.4.2 Cardinal一元取反操作
4.5 从Delphi 4升级
4.5.1 RTL问题
4.5.2 VCL问题
4.5.3 Internet开发主题
4.5.4 数据库问题
4.6 从Delphi 3升级
4.6.1 无符号32位整数
4.6.2 64位整数
4.6.3 Real类型
4.7 从Delphi 2升级
4.7.1 Boolean类型的改变
4.7.2 ResourceString
4.7.3 BTL的改变
4.7.4 TCustomForm
4.7.5 GetChildren()
4.7.6 自动化服务器
4.8 从Delphil升级
4.9 小结
第5章 多线程技术
5.1 阐述线程
5.1.1 多任务的类型
5.1.2 在Delphi应用程序中使用多线程
5.1.3 线程的滥用
5.2 TThread对象
5.2.1 TThread基础
5.2.2 线程实例
5.2.3 线程终止
5.2.4 和VCL同步
5.2.5 应用程序Demo
5.2.6 优先级和调度
5.2.7 线程的挂起和恢复
5.2.8 线程中的计时
5.3 管理多线程
5.3.1 线程局部存储
5.3.2 线程同步
5.4 多线程应用程序范例
5.4.1 用户界面
5. 4. 2 搜索线程
5. 4. 3 调整优先级
5.5 多线程访问BDE
5.6 多线程图形操作
5.7 纤程
5.8 小结
第6章 动态链接库
6.1 何谓DLL
6.2 静态链接和动态链接
6.3 为何要用DLL
6.3.1 多个应用程序共享代码、资源和数据
6.3.2 隐藏实施细节
6.4 创建和使用DLL
6.4.1 数美分(简单的DLL)
6. 4. 2 通过DLL显示模式窗体
6.5 通过DLL显示无模式窗体
6.6 在Delphi应用程序中使用DLL
6.7 显式调用DLL
6.8 动态链接库的入口/出口函数
6.8.1 进程和线程的初始化和结束标准函数
6.8.2 DLL入口/出口示例
6.9 DLL中的异常
6.9.1 在16位Delphi中捕捉异常
6.9.2 异常和Safecall指示符
6.10 回调函数
6.10.1 使用回调函数
6.10.2 绘制Owner-Draw列表框
6.11 通过DLL调用回调函数
6.12 共享不同进程中的DLL数据
6.12.1 创建共享内存的DLL
6.12.2 使用共享内存的DLL
6.13 从DLL中输出对象
6.14 小结
第三部分 数据库开发
第7章 Delphi数据库体系结构
7.1 数据库类型
7.2 数据库体系结构
7.3 连接到数据库服务器
7.3.1 数据库连接概述
7.3.2 建立数据库连接
7.4 操作数据集
7.4.1 打开及关闭数据集
7.4.2 导航数据集
7.4. 3 管理数据集
7.4.4 数据集状态
7.5 操作字段
7.5.1 字段值
7.5.2 字段数据类型
7.5.3 字段名称及号码
7.5.4 管理字段数据
7.5.5 操作BLOB字段
7.5.6 过滤数据
7.5.7 搜索数据集
7.5.8 关键字查找
7.5.9 使用数据模块
7.5.10 查找、范围及过滤器演示
7.5.11 书签
7.6 小结
第8章 用dbExpress进行数据库开发
8.1 使用dbExpess
8.1.1 单向、只读数据集
8.1.2 dbExpress与BDE比较
8.1.3 dbExpress支持跨平台开发
8.2 dbExpress组件
8.2.1 TSQLConnection
8.2.2 TSQLDataset
8.2.3 显示查询结果
8.2.4 向后兼容组件
8.2.5 TSQLMonitor
8.3 设计可编辑的dbExpress应用程序
8.4 部署dbExpress应用程序
8.5 小结
第9章 用dbGo for ADO进行数据库开发
9.1 dbGo介绍
9.2 Mcrosoft的统一数据访问策略概述
9.3 OLE DB、ADO、ODBC概述
9.4 使用dbGo for ADO
9.4.1 为ODBC建立OLE DB提供者
9.4.2 Access数据库
9.5 dbGo for ADO组件
9.5.1 TADOConnection
9.5.2 建立数据库连接
9.5.3 回避/替代登录提示
9.5.4 TADOCommand
9.5.5 TADODataset
9.5.6 类似BDE的数据集组件
9.6 事务处理
9.7 小结
第四部分 基于组件的开发
第10章 组件体系:VCL和CLX
10.1 关于新的CLX
10.2 何谓组件
10.3 组件的层次结构
10.3.1 非可视组件
10.3.2 可视组件
10.4 组件结构
10.4.1 属性
10.4.2 属性的类型
10.4.3 方法
10. 4.4 事件
10.4.5 流式属性
10.4.6 所有权
10.4.7 父子关系
10.5 可视组件的继承关系
10.5.1 TPersistent类
10.5.2 TPersistent方法
10.5.3 TComponent类
10.5.4 TControl类
10.5.5 TWinControl和TWidgetControl
10.5.6 TGraphicControl类
10.5.7 TCustomControl类
10.5.8 其他类
10.6 运行期类型信息
10.6.1 TypInfo.pas单元:运行类型信息的定义者
10.6.2 获取类型信息
10.6.3 获得方法指针的类型信息
10.6.4 获取有序类型的类型信息
10.6.5 通过RTTI为属性赋值
10.7 小结
第11章 编写VCL组件
11.1 组件设计基础
11.1.1 决定是否应编写组件
11.1.2 编写组件的步骤
11.1.3 确定祖先类
11.1.4 创建组件单元
11.1.5 创建属性
11.1.6 创建事件
11.1.7 创建自定义方法
11.1.8 构造函数和析构函数
11.1.9 注册组件
11.1.10 测试组件
11.1.11 提供组件图标
11.2 组件示例
11.2.1 扩展Win32组件包装器的性能
11.2.2 TddgRunButton:创建属性
11.3 TddgButtonEdit:一个容器组件
11.3.1 设计决策
11.3. 2 显露属性
11.3.3 显露事件
11.3.4 TddgDigitalClock:创建组件事件
11.3.5 把窗体添加到组件面板
11.4 小结
第12章 高级VCL组件构造技术
12.1 伪可视组件
12.1.1 扩展提示功能
12.1.2 创建一个THintWindow派生类
12.1.3 椭圆型窗口
12.1.4 激活THintWindow派生窗口
12. 1.5 运用TDDGHintWindow
12.2 动态组件
12.2.1 滚动字幕组件
12.2.2 编写组件
12.2.3 在屏幕以外的位图上绘制
12.2.4 描绘组件
12.2.5 让组件"动起来"
12.2.6 测试TddgMarquee组件
12.3 编写属性编辑器
12.3.1 创建一个继承的属性编辑器对象
12.3.2 将属性作为文本进行编辑
12.3.3 注册新的属性编辑器
12.3.4 利用对话框将属性作为整体进行编辑
12.4 组件编辑器
12.4.1 TComponentEditor
12.4.2 一个简单的组件
12. 4. 3 一个简单的组件编辑器
12.4.4 注册组件编辑器
12.5 对非公开的组件数据执行流操作
12.5.1 定义属性
12.5.2 DefineProperty()的例子
12.5.3 TddgWaveFile:DefineBinaryProperty()用法示例
12.6 属性类别
12.6.1 类别类
12.6.2 自定义类别
12.7 组件列表:TCollection和TCollectionItem
12.7.1 定义TCollectionItem类:TRunBtnItem
12.7.2 定义TCollection类:TRunButtons
12.7.3 实现TddgLaunchPad、TRun-BtnItem和TRunButtons
12.7.4 用对话框属性编辑器编辑TCollectionItem组件的列表
12.8 小结
第13章 CLX组件开发
13.1 何谓CLX
13.2 CLX的体系结构
13.3 移植问题
13.4 组件示例
13.4.1 TddgSpinner组件
13.4.2 设计期增强工具
13.4.3 组件引用和图像列表
13.4.4 CLX数据感知组件
13.5 CLX设计编辑器
13.6 包
13.6.1 命名约定
13.6.2 运行期包
13.6.3 设计期包
13.6.4 单元注册
13.6.5 组件位图
13.7 小结
第14章 充分发挥包的作用
14.1 为何要用包
14.1.1 精简代码
14.1.2 发布更小的应用程序--应用程序分割
14.1.3 组件容器
14.2 为何不用包
14.3 包的类型
14.4 包文件
14.5 使用运行期包
14.6 把包安装到Delphi IDE中
14.7 创建包
14.7.1 包编辑器
14.7.2 包设计方案
14.8 包的版本化
14.9 包编译器指示符
14.10 包的命名约定
14.11 使用运行期(插件)包的可扩展应用程序
14.12 从包中导出函数
14.13 获取包的信息
14.14 小结
第15章 COM开发
15.1 COM基础
15.1.1 COM2组件对象模型
15.1.2 COM、ActiveX和OLE之间的对比
15.1.3 术语
15.1.4 ActiveX的优势
15.1.5 OLE 与OLE 2的对比
15.1.6 结构化存储
15.1.7 统一数据传输
15.1.8 线程模式
15.1.9 COM十
15.2 COM与Object Pascal
15.2.1 接口
15.2.2 使用接口
15.2.3 HResult返回类型
15.3 COM对象和类工厂
15.3.1 TComObject和TComObject-Factory
15.3.2 in-process COM服务器
15.3.3 创建in-proc COM服务器实例
15.3.4 out-of-process COM服务器
15.4 聚合
15.5 分布式COM
15.6 Automation
15.6.1 IDispatch
15.6.2 类型信息
15.6.3 后期绑定与早期绑定的对比
15.6.4 注册
15.6.5 创建Automation服务器
15.6.6 创建Automation控制器
15.7 高级Automation技术
15.7.1 Automation事件
15.7.2 Automation集合
15.7.3 类型库新增接口类型
15.7.4 二进制数据的交换
15.7.5 后台:COM的语言支持
15.8 TOleContainer
15.8.1 一个简单的示例程序
15.8.2 一个较为复杂的示例程序
15.9. 4 小结
第16章 Windows外壳编程
16.1 托盘图标组件
16.1.1 API
16.1.2 处理消息
16.1.3 图标及提示
16.1.4 鼠标点击
16.1.5 隐藏应用程序
16.1.6 托盘图标应用程序示例
16.2 应用程序桌面工具栏
16.2.1 API
16.2.2 TAppBar:AppBar的窗体
16.2.3 使用TAppBar
16.3 外壳链接
16.3.1 获取IShellLink实例
16.3.2 使用IShellLink
16.3.3 创建一个外壳链接
16.3.4 获取及设置链接信息
16.3.5 示例程序
16.4 外壳扩展
16.4.1 COM对象向导
16.4.2 复制钩子处理器
16.4.3 环境菜单处理器
16.4.4 图标处理器
16.4.5 信息提示处理器
16.5 小结
第17章 使用Open Tools API
17.1 Open Tools接口
17.2 使用Open Tools API
17.2.1 简单的向导
17.2.2 Wizard向导
17.2.3 DDG Search
17.3 窗体向导
17.4 小结
第五部分 企业开发
第18章 使用COM+/MTS开发事务程序
18.1 什么是COM十
18.2 使用COM的原因
18.3 服务
18.3.1 事务
18.3.2 安全
18.3.3 及时激活
18.3.4 队列组件
18.3.5 对象缓冲池
18.3.6 事件
18.4 运行期
18.4.1 注册数据库(RegDB)
18.4.2 配置组件
18. 4. 3 运行环境(Contexts)
18.4. 4 Neutral线程
18.5 创建COM十应用程序
18.5.1 目标:规模
18.5.2 执行环境
18.5.3 有状态(Stateful)和无状态(Stateless)
18.5.4 生命周期管理
18.5.5 COM十应用程序的组织
18.5.6 有关事务的思考
18.5.7 资源
18.6 Delphi中的COM十
18.6.1 COM十向导
18.6.2 COM十框架
18.6.3 Tic-Tac-Toe:一个简单的应用程序
18.6.4 调试COM十应用程序
18.7 小结
第19章 CORBA开发
19.1 CORBA特性
19.2 CORBA体系结构
19.2.1 OSAgent
19.2.2 接口
19.3 接口定义语言
19.3.1 基本类型
19.3.2 用户定义类型
19.3.3 别名
19.3.4 枚举
19.3.5 结构
19.3.6 数组
19.3.7 序列
19.3.8 方法参数
19.3.9 模块
19.4 银行案例
19.5 复杂数据类型
19.6 Delphi、CORBA和Enterprise Java Beans(EJB)
19.6.1 Delphi程序员EJB速成
19.6.2 EJB是一种特殊的组件
19.6.3 EJB在容器中运行
19. 6. 4 EJB具有预定义的API
19.6.5 Home(本地)接口和Remote(远程)接口
19.6.6 EJB的类型
19. 6.7 配置JBuilder 5以开发EJB
19.6.8 创建一个简单的"Hello'world" EJB
19.7 CORBA和Web Services
19.7.1 创建Web Service
19.7.2 创建SOAP客户端应用程序
19.7.3 添加CORBA客户端代码至Web Service中
19.8 小结
第20章 BizSnap开发:基于SOAP的Web Services
20.1 Web Services
20.2 SOAP
20.3 编写Web Service
20.3.1 TWebModule
20.3.2 定义一个可调用接口
20.3.3 实现一个可调用接口
20.3.4 测试Web Service
20.4 从客户端调用Web Service
20.4.1 为远程可调用对象产生一个输入单元
20.4.2 使用THTTPRIO组件
20.5 小结
第21章 DataSnap开发
21.1 创建多层应用程序的机制
21.2 多层体系结构的优点
21.2.1 集中商业逻辑
21.2.2 瘦客户结构
21.2.3 自动错误调解
21.2.4 公文包模型
21.2.5 容错性
21.2.6 负载平衡
21.3 典型的DataSnap结构
21.3.1 服务器
21.3.2 客户端
21.4 使用DataSnap创建应用程序
21.4.1 创建服务器
21.4.2 创建客户端
21.5 更多增强应用程序健壮性的措施
21.5.1 客户端优化技术
21.5.2 应用程序服务器技术
21.6 实例
21.7 Client Dataset组件的更多特性
21.8 典型错误
21.9 配置DataSnap应用程序
21.9.1 发放许可证
21.9.2 DCOM配置
21.9.3 文件配置
21.9.4 Internet配置考虑(防火墙)
21.10 小结
第六部分 Internet开发
第22章 ASP开发
22.1 理解活动服务器对象
22.2 活动服务器对象向导
22.2.1 类型库编辑器
22.2.2 新方法
22.2.3 ASP Response对象
22.2.4 第一次运行
22.2.5 ASP Request对象
22.2.6 重新编译活动服务器对象
22.2.7 再次运行活动服务器对象
22.3 ASP Session、Server和Application对象
22.4 活动服务器对象及数据库
22.5 活动服务器对象及NetCLX支持
22.6 调试活动服务器对象
22.6.1 使用MTS调试活动服务器对象
22.6.2 采用Windows NT 4调试
22.6.3 采用Windows 2000调试
22.7 小结
第23章 WebSnap开发
23.1 WebSnap的特性
23.1.1 多个Webmodule
23.1.2 服务器执行脚本
23.1.3 TAdapter(适配器)组件
23.1.4 多种调度方法
23.1.5 Page producer(页面生成器)组件
23.1.6 会话管理
23.1.7 登录服务
23.1.8 用户跟踪
23.1.9 HTML管理
23.1.10 文件上传 服务
23.2 websnap开发
23.2.1 应用程序的设计
23.2.2 为应用程序添加功能
23.2.3 导航菜单栏
23.2.4 登录
23.2.5 管理用户偏好数据
23.2.6 在会话之间保存偏好数据
23.2.7 图像处理
23.2.8 显示数据
23.2.9 将应用程序转换为ISAPI DLL
23.3 高级话题
23.3.1 LocabFileServices(文件定位服务)
23.3.2 文件上传
23.3.3 包含定制模板
23.3.4 在TAdapterPageProducer中定制组件
23.4 小结
第24章 无线开发
24.1 开发技术的发展:回顾
24.1.1 20世纪80年代以前:庞然大物时代
24.1.2 20世纪80年代后期:桌面数据库应用程序
24.1.3 20世纪90年代早期:客户端/服务器
24.1.4 20世纪90年代后期:多层结构及基于Intemet的事务处理
24.1.5 21世纪早期:扩展到无线移动领域的应用程序基础架构
24.2移动无线设备
24.1.3 20世纪90年代早期:客户端/服务器
24.1.4 20世纪90年代后期:多层结构及基于Intemet的事务处理
24.1.5 21世纪早期:扩展到无线移动领域的应用程序基础架构
24.2 移动无线设备
24.2.1 移动电话
24.2.2 palmos设备
24.2.3 Pocket PC
24.2.4 RIM BlackBerrv
24.3 无线电技术
24.3.1 GSM、CDMA和TDMA
24.3.2 CDPD
24.3.3 3G
24.3.4 GPRS
24.3.5 蓝牙
24.3.6 802.11
24.4 基于服务器的无线数据技术
24.4.1 SMS
24.4.2 WAP
24.4.3 1-mode
24.4.4 PQA
24.5 无线用户体验
24.5.1 环路选择网络和数据包选择网络
24.5.2 无线并非Web
24.5.3 窗体因素的重要性
24.5.4 数据输入和导航技术
24.5.5 M-Commerce
24.6 小结