书籍详情
参透Delphi/Kylix
作者:乔林著
出版社:中国铁道出版社
出版时间:2003-03-01
ISBN:9787113049201
定价:¥98.00
购买这本书可以去
内容简介
Delphi/Kylix为Borland/Inprise公司推出的影响最深远的程序开发软件之一。本书深入Object Pascal语言与Delphi/Kylix开发工具的核心,澄清许多容易让人迷惑的概念,详细阐释使用Delphi/Kylix进行高级开发时所应具有的思考方法与技术修养。本书共分五部分,除附录外,分别讨论Object Pascal语言精义、应用程序界面设计方略、组件开发与IDE扩展以及Windows核心编程技术。全书通过131个实例、近70,000行程序源代码全面提升读者的程序开发能力。本书适合大中专院校师生与相关科技人员学习Delphi/kylix与Windows核心编程时自学或参考。
作者简介
暂缺《参透Delphi/Kylix》作者简介
目录
第0章 引言
0-1 精通Delphi/Kylix的途径
0-2 全书结构
0-3 排版与行文说明
0-4 关于本书配套光盘
0-5 联系作者
第一部分 Object Pascal语言精义
第1章 数据与代码
1-1 数据与代码的基本概念
1-1-1 数据与信息
1-1-2 数据及其解释
1-1-3 数据与地址
1-1-4 程序代码
1-2 数据类型
1-2-1 简单数据类型
1-2-2 用户自定义数据类型
1-2-3 无名类型声明
1-2-4 类型别名
1-3 数据的类型转换
1-3-1 强制类型转换
1-3-2 类型转换的利与弊
1-3-3 变体类型
1-4 程序流程控制
1-4-1 分支
1-4-2 循环
1-5 本章小结
第2章 过程与函数
2-1 结构化程序设计
2-1-1 结构化程序设计的基本原则
2-1-2 子程序
2-1-3 功能分解与逐步求精
2-2 子程序参数
2-2-1 参数语义
2-2-2 值参数
2-2-3 常量参数
2-2-4 变量参数
2-2-5 外部参数
2-2-6 无型参数
2-3 子程序重载与缺省参数
2-3-1 重载
2-3-2 缺省参数
2-4 子程序控制
2-4-1 栈框架的调整
2-4-2 调用规范
2-4-3 参数传递规范
2-4-4 寄存器保护规范与函数的返回值
2-5 递归
2-5-1 递归的基本概念
2-5-2 递归调用时的栈框架调整
2-5-3 递归信任
2-5-4 分形
2-5-5 间接递归
2-6 本章小结
第3章 数据组织
3-1 数据的组织结构
3-1-1 同质数据
3-1-2 异质数据
3-1-3 复杂数据结构
3-2 生存期自管理的数据类型
3-2-1 生存期自管理的基本意义
3-2-2 动态数组
3-2-3 字符串
3-3 指针
3-3-1 指针、地址与数据
3-3-2 指针操作
3-3-3 动态内存分配
3-3-4 指针存储格式
3-3-5 字符指针
3-4 特定数据结构的参数传送
3-4-1 静态数组参数
3-4-2 开放数组参数
3-4-3 可变开放数组参数
3-4-4 字符串参数
3-4-5 指针参数
3-5 本章小结
第4章 程序抽象
4-1 数据抽象与抽象数据类型
4-1-1 数据抽象
4-1-2 链表
4-1-3 抽象数据类型
4-2 线性数据结构
4-2-1 栈
4-2-2 队列
4-2-3 对栈与队列的进一步抽象
4-3 非线性数据结构
4-3-1 符号表
4-3-2 树与二叉树
4-3-3 表达式二叉树
4-4 算法抽象
4-4-1 过程抽象
4-4-2 过程类型
4-4-3 数学函数图像的绘制
4-4-4 回调函数与映射函数
4-5 本章小结
第5章 类与对象
5-1 类类型
5-1-1 类与对象的基本概念
5-1-2 类类型的声明与实现
5-1-3 类类型的使用
5-1-4 对象成员的访问
5-1-5 根类与继承
5-2 域与方法
5-2-1 域
5-2-2 方法类型
5-2-3 过程方法与函数方法
5-2-4 构造方法
5-2-5 析构方法
5-2-6 类过程方法与类函数方法
5-2-7 隐含参数Self
5-2-8 方法调用规范
5-3 成员可见性
5-3-1 数据封装与成员可见性
5-3-2 缺省成员可见性
5-3-3 类的友元
5-4 类与抽象数据类型
5-4-1 数据封装的肇因
5-4-2 抽象数据类型的类实现
5-4-3 面向对象技术的实质
5-5 对象与对象交互
5-5-1 再论对象
5-5-2 对象标识
5-5-3 对象交互机制
5-5-4 对象引用存在的问题
5-6 本章小结
第6章 继承
6-1 继承抽象
6-1-1 继承的基本原理
6-1-2 窗体类的继承
6-1-3 VCL与CLX类库层次
6-1-4 VCL与CLX类库分支结构
6-2 方法的继承与重载
6-2-1 方法继承
6-2-2 方法重载
6-2-3 inherited调用
6-3 类操作符
6-3-1 is操作符
6-3-2 as操作符
6-4 对象存储格式
6-4-1 域的存储格式
6-4-2 静态方法的存储格式
6-5 线性数据结构的类实现
6-6 本章小结
第7章 多态性与动态联编
7-1 静态方法与类型适应
7-1-1 静态方法
7-1-2 类型适应
7-2 虚拟方法与动态方法
7-2-1 强制类型转换的缺陷
7-2-2 虚拟方法
7-2-3 动态方法
7-3 方法指示符
7-3-1 方法的重定义
7-3-2 方法的覆盖
7-3-3 方法的重引入
7-3-4 警告指示符
7-3-5 方法指示符的使用原则
7-4 动态联编机制
7-4-1 静态联编与动态联编
7-4-2 多态性
7-5 虚拟方法与动态方法的存储格式
7-5-1 虚拟表结构
7-5-2 动态方法的存储格式
7-5-3 类继承层次下的虚拟表结构
7-6 对象的构造与析构
7-6-1 对象的构造
7-6-2 对象的析构
7-7 抽象方法与抽象类
7-7-1 抽象方法
7-7-2 抽象类
7-7-3 抽象窗体类
7-8 本章小结
第8章 流机制与持久性
8-1 流机制
8-1-1 流抽象
8-1-2 流入流出
8-2 文件流
8-2-1 创建TFileStream流式对象
8-2-2 TFileStream流入流出
8-2-3 数据文件流
8-3 体育彩票辅助分析系统
8-3-1 法律说明
8-3-2 数据结构
8-3-3 中奖记录的流入流出
8-3-4 频率统计
8-3-5 中奖号码分布图
8-3-6 中奖记录的管理
8-4 TPersistent类与持久性
8-4-1 复制构造方法
8-4-2 属性流与域流
8-4-3 对象的串行化
8-5 本章小结
第9章 异常处理
9-1 异常处理的基本概念
9-1-1 异常处理机制
9-1-2 异常保护机制
9-1-3 异常引发机制
9-2 标准异常类
9-2-1 异常类Exception
9-2-2 异常类层次
9-2-3 运行库异常
9-2-4 对象异常
9-2-5 组件异常
9-3 异常的响应与处理
9-3-1 使用异常实例
9-3-2 缺省异常响应
9-3-3 多个异常的处理
9-3-4 异常的重引发
9-3-5 异常嵌套
9-3-6 异常编程方法
9-3-7 TApplication类的异常处理程序
9-3-8 程序异常日志
9-4 自定义异常类
9-4-1 创建自定义异常类
9-4-2 引发自定义异常类
9-5 本章小结
第二部分 用户界面设计方略
第10章 窗体与窗口
10-1 窗体的基本属性
10-1-1 边框样式与边框图标
10-1-2 窗体位置
10-1-3 窗体与客户区的大小
10-1-4 窗体约束
10-2 字体比例调整
10-2-1 自动调整字体比例
10-2-2 手工调整字体比例
10-2-3 滚动条
10-3 窗体中的组件
10-3-1 组件的Owner属性与Parent属性
10-3-2 组件与控件计数
10-4 窗体事件
10-5 对话框与多窗体的创建与管理
10-5-1 模态窗口与非模态窗口
10-5-2 窗体的创建与释放时机
10-5-3 对话框
10-6 特殊窗体
10-6-1 封面窗口
10-6-2 无标题窗体
10-7 本章小结
第11章 输入处理
11-1 鼠标与键盘输入
11-1-1 鼠标事件
11-1-2 键盘事件
11-2 响应鼠标事件
11-2-1 鼠标事件处理过程的参数
11-2-2 响应OnClick事件
11-2-3 响应OnMouseDown事件
11-2-4 响应OnMouseMove事件
11-2-5 响应滚轮事件
11-3 响应键盘事件
11-3-1 键盘事件处理过程的参数
11-3-2 响应OnKeyPress事件
11-3-3 响应OnKeyDown事件
11-3-4 响应OnKeyUp事件
11-4 跟踪鼠标与键盘
11-4-1 跟踪鼠标事件
11-4-2 跟踪键盘事件
11-4-3 处理虚拟键
11-4-4 虚拟键的散列
11-5 本章小结
第12章 用户界面元素
12-1 菜单栏
12-1-1 菜单与菜单项
12-1-2 菜单项的图标
12-1-3 菜单项的加速键与快捷键
12-1-4 菜单命令的响应
12-1-5 动态管理菜单项
12-1-6 弹出式菜单
12-1-7 访问系统菜单
12-2 工具栏
12-2-1 TToolBar组件与TToolButton组件
12-2-2 按钮样式
12-2-3 工具栏中的组件
12-2-4 工具栏按钮的提示信息
12-2-5 提示信息的定制
12-2-6 提示信息窗口类
12-3 控件栏
12-3-1 TCoolBar组件
12-3-2 TControlBar组件
12-3-3 TControlBar组件中的菜单
12-4 活动抽象机制
12-4-1 引入活动抽象的原因
12-4-2 活动抽象的基本机制
12-4-3 使用活动关联菜单和按钮
12-4-4 活动的触发规则
12-5 状态栏
12-5-1 简单状态栏的使用方法
12-5-2 复杂状态栏的使用方法
12-5-3 跟踪键盘状态
12-6 本章小结
第13章 程序工作区
13-1 SDI、MDI与MPI
13-1-1 SDI
13-1-2 MDI
13-1-3 MPI
13-1-4 设计程序工作区的五项基本原则
13-2 TTabControl组件与TPageControl组件
13-2-1 TTabControl组件
13-2-2 TPageControl组件
13-2-3 动态MPI的管理
13-2-4 获取活动TJuMemo对象
13-2-5 页面切换
13-3 MPI编辑器
13-3-1 文件的保存
13-3-2 文件的关闭
13-3-3 窗体的关闭
13-3-4 文件的打印
13-4 框架组件
13-4-1 使用框架
13-4-2 框架的基本意义
13-4-3 窗体中的框架
13-5 本章小结
第14章 常用组件的高级用法
14-1 列表框组件
14-1-1 TListBox组件
14-1-2 TCheckListBox组件
14-1-3 TComboBox组件与TColorBox组件
14-2 视图组件
14-2-1 TListView组件
14-2-2 TTreeView组件
14-3 组件的自绘
14-3-1 TComboBox组件的自绘
14-3-2 TMenuItem组件的自绘
14-3-3 TListView组件的自绘
14-3-4 TTreeView组件的自绘
14-4 向导
14-5 本章小结
第15章 拖放与停靠
15-1 组件间的拖放
15-2 组件内的拖放
15-3 控件栏与控件的停靠
15-4 页面控件的停靠特性
15-5 本章小结
第三部分 组件开发与IDE扩展
第16章 类引用
16-1 类引用类型的概念
16-1-1 类引用类型的语法
16-1-2 类引用类型与类方法
16-2 类引用类型与类构造
16-2-1 类引用类型与类定义
16-2-2 Application对象与窗体创建
16-3 类引用类型与动态创建组件
16-3-1 控件的动态创建
16-3-2 类引用作为方法的参数
16-3-3 控件的动态复制
16-4 本章小结
第17章 属性与事件
17-1 属性
17-1-1 引入属性的意义
17-1-2 属性的访问说明
17-1-3 属性的存储说明
17-2 属性的类型
17-2-1 简单类型的属性
17-2-2 布尔类型与枚举类型的属性
17-2-3 集合类型的属性
17-2-4 对象类型的属性
17-2-5 数组类型的属性
17-3 高级属性特性
17-3-1 属性的索引说明
17-3-2 属性的覆盖与重定义
17-3-3 窗体类的属性声明
17-4 方法指针与事件
17-4-1 方法指针类型
17-4-2 事件
17-4-3 事件的基本用法
17-5 本章小结
第18章 运行时类型信息
18-1 RTTI的理论基础
18-1-1 RTTI的定义
18-1-2 RTTI的意义
18-2 获取持久类RTTI
18-2-1 基本RTTI数据结构
18-2-2 程序基本逻辑
18-2-3 动态创建持久类对象实例
18-2-4 获取类类型RTTI
18-2-5 获取类继承层次RTTI
18-2-6 类注册
18-3 RTTI检索
18-3-1 获取指向RTTI的指针
18-3-2 使用TTreeView组件
18-3-3 RTTI字符串的层次结构
18-3-4 获取RTTI字符串
18-4 类类型RTTI检索
18-4-1 获取类RTTI
18-4-2 属性信息数据结构
18-4-3 获取类详细信息
18-4-4 获取属性信息
18-5 方法类型RTTI检索
18-5-1 获取方法RTTI
18-5-2 获取方法定义
18-6 其他类型RTTI检索
18-6-1 序数RTTI检索
18-6-2 动态数组RTTI检索
18-6-3 接口RTTI检索
18-6-4 属性与事件的继承层次
18-6-5 关于ClassWalker的余话
18-7 本章小结
第19章 基本组件开发技术
19-1 组件开发的基本方法
19-1-1 理解组件的三个视角
19-1-2 需要进行组件开发的场合
19-1-3 组件开发的基本途径
19-1-4 组件开发的基本流程
19-2 由现有组件派生新组件
19-2-1 创建简单组件
19-2-2 修改组件类
19-2-3 测试新组件
19-2-4 注册新组件
19-2-5 组件图标
19-3 组件包
19-3-1 包的基本概念与类型
19-3-2 包文件
19-3-3 创建包
19-3-4 包的组织与管理
19-4 由TCustomControl类派生新组件
19-4-1 使用组件专家创建新组件
19-4-2 添加属性声明
19-4-3 组件的构造方法与析构方法
19-4-4 字体调整
19-5 由TComponent类派生设计时不可见组件
19-5-1 创建TJuDate组件
19-5-2 添加OnDateChange事件
19-5-3 实现TJuDate组件的构造方法
19-5-4 指定组件的输入目录
19-5-5 使用TJuDate组件
19-6 本章小结
第20章 高级组件开发技术
20-1 属性类别
20-1-1 创建属性类别的基本方法
20-1-2 创建属性类别的OpenToolsAPI
20-1-3 属性类别的实现技术
20-2 属性编辑器
20-2-1 属性编辑器类
20-2-2 属性值的编辑
20-2-3 属性编辑器的特征
20-2-4 属性编辑器的注册
20-2-5 使用对话框编辑属性
20-3 组件编辑器
20-3-1 组件编辑器类
20-3-2 缺省组件编辑器类
20-3-3 简单的组件编辑器
20-3-4 组件编辑器的注册
20-4 本章小结
第21章 组件持久性
21-1 实现组件流的辅助类
21-1-1 TFiler类
21-1-2 TReader类
21-1-3 TWriter类
21-2 未发布普通属性的流操作
21-2-1 创建TJuDefPropComp组件
21-2-2 属性的读过程与写过程
21-2-3 使用TJuDefPropComp组件
21-3 未发布二进制属性的流操作
21-3-1 创建TJuWavePlayer组件
21-3-2 创建TJuWavePlayer组件的属性编辑器
21-3-3 使用TJuWavePlayer组件
21-4 本章小结
第22章 接口与COM
22-1 接口的一般概念
22-1-1 接口与类
22-1-2 接口的声明
22-1-3 接口的使用方法
22-1-4 接口的属性
22-2 接口的实现
22-2-1 接口的继承实现
22-2-2 接口的类类型属性委托实现
22-2-3 接口的接口类型属性委托实现
22-2-4 接口的引用
22-2-5 接口的赋值与类型适应
22-3 接口的多态性
22-3-1 接口的继承层次
22-3-2 类的继承层次
22-3-3 接口的多态
22-3-4 接口方法的重命名
22-4 基础COM编程
22-4-1 COM简史
22-4-2 COM基本概念
22-4-3 COM对象
22-4-4 COM类厂
22-4-5 COM服务器
22-4-6 注册COM服务器
22-4-7 测试COM服务器
22-5 本章小结
第23章 扩展Delphi/Kylix IDE
23-1 Open Tools API
23-1-1 Open Tools API简史
23-1-2 Open Tools API的体系结构
23-1-3 OTA主要接口概述
23-2 IDE向导
23-2-1 文本查找
23-2-2 IOTAWizard接口
23-2-3 IDE向导
23-2-4 IDE向导DLL
23-3 消息通知器
23-3-1 实现IOTAIDENotifier接口
23-3-2 注册消息通知器
23-4 本章小结
第四部分 操作系统核心编程
第24章 消息与消息处理
24-1 Windows消息机制
24-1-1 消息的基本概念
24-1-2 消息处理
24-2 Delphi消息处理机制
24-2-1 Delphi消息记录
24-2-2 VCL消息处理过程
24-2-3 消息的返回值
24-3 消息的分类
24-3-1 Windows标准消息
24-3-2 控件通知消息
24-3-3 自定义消息
24-4 消息与事件
24-4-1 消息的发送
24-4-2 VCL消息处理流程
24-4-3 消息与事件的关系
24-5 消息的拦截
24-5-1 子类化窗口过程
24-5-2 窗口方法映射
24-5-3 窗口钩
24-6 本章小结
第25章 操作系统信息检索
25-1 操作系统版本信息
25-1-1 GetVersionEx函数与TOSVersionInfo记录
25-1-2 TOSVersionInfoEx记录
25-1-3 实现ShowSystemVersion方法
25-1-4 访问注册表
25-1-5 结果输出
25-2 计算机名称信息
25-2-1 GetComputerNameEx函数
25-2-2 ShowComputerNames方法
25-3 硬件信息
25-3-1 GetSystemInfo函数与TSystemInfo记录
25-3-2 ShowHardware方法
25-4 系统配置信息
25-4-1 一般信息检索
25-4-2 环境变量串检索
25-5 内存状态信息
25-5-1 TMemoryStatus记录
25-5-2 实现ShowMemoryStatus方法
25-6 系统度量制信息
25-7 本章小结
第26章 动态链接库
26-1 DLL基础
26-1-1 DLL与动态链接
26-1-2 DLL与EXE
26-1-3 DLL的基本意义
26-2 使用DLL
26-2-1 隐式调用
26-2-2 显式调用
26-3 创建DLL
26-3-1 DLL中的窗体
26-3-2 DLL中的无模式窗体
26-3-3 编写DLL的基本原则
26-4 钩与DLL
26-4-1 Windows钩
26-4-2 定义钩数据结构
26-4-3 WH_MOUSE钩
26-4-4 钩的安装与脱离
26-4-5 DLL入口点
26-4-6 使用HookDll
26-5 本章小结
第27章 进程与内核对象
27-1 进程的基础知识
27-1-1 进程的基本概念
27-1-2 进程的实例句柄
27-1-3 进程的命令行
27-1-4 进程的环境变量
27-1-5 进程的目录
27-1-6 CreateProcess函数
27-1-7 ExitProcess函数与TerminateProcess函数
27-1-8 子进程的创建与消亡
27-2 Windows内核对象
27-2-1 内核对象的典型特征
27-2-2 内核对象类型与内核句柄表
27-2-3 内核对象的创建与关闭
27-2-4 进程间的内核对象共享
27-3 进程枚举
27-4 进程间通信
27-4-1 进程间通信问题及其基本实现策略
27-4-2 WM_COPYDATA消息
27-4-3 进程间的数据传输
27-5 本章小结
第28章 线程
28-1 线程的基础知识
28-1-1 进程与线程
28-1-2 宜使用多线程的场合
28-1-3 不宜使用多线程的场合
28-1-4 线程的调度与优先级
28-2 VCL线程对象
28-2-1 TThread类
28-2-2 使用TThread类
28-2-3 线程对象的构造与释放
28-2-4 线程函数
28-2-5 线程的终止与异常
28-3 VCL线程同步机制
28-3-1 Synchronize方法
28-3-2 Lock方法与Unlock方法
28-3-3 TCriticalSection类
28-3-4 TMultiReadExclusiveWriteSynchronizer类
28-3-5 TEvent类与TSimpleEvent类
28-3-6 WaitFor方法
28-4 Windows线程内核对象
28-4-1 TThread类的构造与CreateThread函数
28-4-2 线程的终止
28-4-3 线程与进程的标识
28-4-4 线程的调度与优先级
28-4-5 线程消息队列
28-5 Windows线程同步机制
28-5-1 TEvent类与事件内核对象
28-5-2 互斥内核对象
28-5-3 信号量内核对象
28-5-4 互锁函数族
28-6 线程局部存储
28-7 本章小结
第29章 文件与文件系统
29-1 文件系统信息检索
29-1-1 逻辑驱动器
29-1-2 卷
29-2 文件与目录基本操作
29-2-1 外壳组件
29-2-2 SHFileOperation函数
29-3 文件与目录高级操作
29-3-1 文件属性
29-3-2 文件查找
29-3-3 文件变化通知
29-4 本章小结
第30章 虚拟内存
30-1 Windows NT/2000/XP的虚拟地址空间布局
30-2 虚拟内存管理
30-2-1 保留与提交
30-2-2 共享内存与文件映射对象
30-2-3 保护属性
30-2-4 写时复制
30-3 MemTouch程序
30-3-1 VirtualQuery函数与VirtualQueryEx函数
30-3-2 VirtualMemoryQuery函数与VirtualMemoryWalk函数
30-3-3 GetTokens过程
30-4 VMQuery动态链接库
30-4-1 TVirtualMemoryInformation记录
30-4-2 实现VirtualMemoryWalk函数
30-4-3 实现VirtualMemoryQuery函数
30-4-4 实现GetMemoryInformation过程
30-4-5 DLL的映像基地址
30-5 堆栈与虚拟内存分配
30-5-1 栈
30-5-2 堆
30-5-3 虚拟内存分配
30-6 本章小结
第31章 区域对象与进程间通信
31-1 区域对象
31-1-1 区域对象的基本概念
31-1-2 创建区域对象
31-1-3 映射视图
31-1-4 解除视图映射与关闭区域对象
31-2 DLL与数据共享
31-2-1 实现Mapping动态链接库
31-2-2 实现读进程与写进程
31-3 TJuSectionObject类族
31-3-1 实现TJuSectionObject类
31-3-2 实现TJuMemMapping类
31-3-3 实现TJuFileMapping类
31-4 远程注入DLL与进程间通信
31-4-1 进程间通信:子类化
31-4-2 进程间通信:钩
31-4-3 创建远程线程
31-4-4 远程进程虚拟内存信息检索
31-5 本章小结
第五部分 附录
附录A 常用Delphi/Kylix常量、变量、函数与过程
A-1 应用程序级信息
A-2 数学运算
A-3 组件注册与Open Tools API
A-4 日期与时间
A-5 文件与文件管理
A-6 流操作
A-7 字符与字符串操作
A-8 类型转换
附录B Delphi/Kylix编译指示与工程选项
附录C 跨平台开发
C-1 从Windows到Linux的标准移植步骤
C-2 CLX与VCL的差异
C-3 Windows与Linux的差异
C-3-1 环境差异
C-3-2 目录差异
C-4 编写可移植代码的一般原则
C-4-1 一般原则
C-4-2 使用条件编译指令
C-4-3 位置无关代码与位置相关代码
C-4-4 消息与系统事件
附录D 程序调试
D-1 程序错误的种类
D-2 基本程序调试手段
D-2-1 设置调试工具选项
D-2-2 控制程序执行
D-2-3 使用断点
D-2-4 检查变量和表达式的值
D-2-5 检查函数和过程调用
D-2-6 检查局部变量
D-3 高级程序调试手段
D-3-1 检查线程状态
D-3-2 检查CPU状态
D-3-3 检查FPU状态
D-3-4 检查模块的装入与卸载
D-3-5 检查事件日志
附录E Delphi/Kylix IDE错误一览表
E-1 编译错误信息
E-2 运行时错误信息
E-2-1 I/O错误:错误编号为100~149
E-2-2 致命错误:错误编号为200~255
E-2-3 操作系统错误
附录F 名词与术语索引
附录G 参考文献与深入读物
0-1 精通Delphi/Kylix的途径
0-2 全书结构
0-3 排版与行文说明
0-4 关于本书配套光盘
0-5 联系作者
第一部分 Object Pascal语言精义
第1章 数据与代码
1-1 数据与代码的基本概念
1-1-1 数据与信息
1-1-2 数据及其解释
1-1-3 数据与地址
1-1-4 程序代码
1-2 数据类型
1-2-1 简单数据类型
1-2-2 用户自定义数据类型
1-2-3 无名类型声明
1-2-4 类型别名
1-3 数据的类型转换
1-3-1 强制类型转换
1-3-2 类型转换的利与弊
1-3-3 变体类型
1-4 程序流程控制
1-4-1 分支
1-4-2 循环
1-5 本章小结
第2章 过程与函数
2-1 结构化程序设计
2-1-1 结构化程序设计的基本原则
2-1-2 子程序
2-1-3 功能分解与逐步求精
2-2 子程序参数
2-2-1 参数语义
2-2-2 值参数
2-2-3 常量参数
2-2-4 变量参数
2-2-5 外部参数
2-2-6 无型参数
2-3 子程序重载与缺省参数
2-3-1 重载
2-3-2 缺省参数
2-4 子程序控制
2-4-1 栈框架的调整
2-4-2 调用规范
2-4-3 参数传递规范
2-4-4 寄存器保护规范与函数的返回值
2-5 递归
2-5-1 递归的基本概念
2-5-2 递归调用时的栈框架调整
2-5-3 递归信任
2-5-4 分形
2-5-5 间接递归
2-6 本章小结
第3章 数据组织
3-1 数据的组织结构
3-1-1 同质数据
3-1-2 异质数据
3-1-3 复杂数据结构
3-2 生存期自管理的数据类型
3-2-1 生存期自管理的基本意义
3-2-2 动态数组
3-2-3 字符串
3-3 指针
3-3-1 指针、地址与数据
3-3-2 指针操作
3-3-3 动态内存分配
3-3-4 指针存储格式
3-3-5 字符指针
3-4 特定数据结构的参数传送
3-4-1 静态数组参数
3-4-2 开放数组参数
3-4-3 可变开放数组参数
3-4-4 字符串参数
3-4-5 指针参数
3-5 本章小结
第4章 程序抽象
4-1 数据抽象与抽象数据类型
4-1-1 数据抽象
4-1-2 链表
4-1-3 抽象数据类型
4-2 线性数据结构
4-2-1 栈
4-2-2 队列
4-2-3 对栈与队列的进一步抽象
4-3 非线性数据结构
4-3-1 符号表
4-3-2 树与二叉树
4-3-3 表达式二叉树
4-4 算法抽象
4-4-1 过程抽象
4-4-2 过程类型
4-4-3 数学函数图像的绘制
4-4-4 回调函数与映射函数
4-5 本章小结
第5章 类与对象
5-1 类类型
5-1-1 类与对象的基本概念
5-1-2 类类型的声明与实现
5-1-3 类类型的使用
5-1-4 对象成员的访问
5-1-5 根类与继承
5-2 域与方法
5-2-1 域
5-2-2 方法类型
5-2-3 过程方法与函数方法
5-2-4 构造方法
5-2-5 析构方法
5-2-6 类过程方法与类函数方法
5-2-7 隐含参数Self
5-2-8 方法调用规范
5-3 成员可见性
5-3-1 数据封装与成员可见性
5-3-2 缺省成员可见性
5-3-3 类的友元
5-4 类与抽象数据类型
5-4-1 数据封装的肇因
5-4-2 抽象数据类型的类实现
5-4-3 面向对象技术的实质
5-5 对象与对象交互
5-5-1 再论对象
5-5-2 对象标识
5-5-3 对象交互机制
5-5-4 对象引用存在的问题
5-6 本章小结
第6章 继承
6-1 继承抽象
6-1-1 继承的基本原理
6-1-2 窗体类的继承
6-1-3 VCL与CLX类库层次
6-1-4 VCL与CLX类库分支结构
6-2 方法的继承与重载
6-2-1 方法继承
6-2-2 方法重载
6-2-3 inherited调用
6-3 类操作符
6-3-1 is操作符
6-3-2 as操作符
6-4 对象存储格式
6-4-1 域的存储格式
6-4-2 静态方法的存储格式
6-5 线性数据结构的类实现
6-6 本章小结
第7章 多态性与动态联编
7-1 静态方法与类型适应
7-1-1 静态方法
7-1-2 类型适应
7-2 虚拟方法与动态方法
7-2-1 强制类型转换的缺陷
7-2-2 虚拟方法
7-2-3 动态方法
7-3 方法指示符
7-3-1 方法的重定义
7-3-2 方法的覆盖
7-3-3 方法的重引入
7-3-4 警告指示符
7-3-5 方法指示符的使用原则
7-4 动态联编机制
7-4-1 静态联编与动态联编
7-4-2 多态性
7-5 虚拟方法与动态方法的存储格式
7-5-1 虚拟表结构
7-5-2 动态方法的存储格式
7-5-3 类继承层次下的虚拟表结构
7-6 对象的构造与析构
7-6-1 对象的构造
7-6-2 对象的析构
7-7 抽象方法与抽象类
7-7-1 抽象方法
7-7-2 抽象类
7-7-3 抽象窗体类
7-8 本章小结
第8章 流机制与持久性
8-1 流机制
8-1-1 流抽象
8-1-2 流入流出
8-2 文件流
8-2-1 创建TFileStream流式对象
8-2-2 TFileStream流入流出
8-2-3 数据文件流
8-3 体育彩票辅助分析系统
8-3-1 法律说明
8-3-2 数据结构
8-3-3 中奖记录的流入流出
8-3-4 频率统计
8-3-5 中奖号码分布图
8-3-6 中奖记录的管理
8-4 TPersistent类与持久性
8-4-1 复制构造方法
8-4-2 属性流与域流
8-4-3 对象的串行化
8-5 本章小结
第9章 异常处理
9-1 异常处理的基本概念
9-1-1 异常处理机制
9-1-2 异常保护机制
9-1-3 异常引发机制
9-2 标准异常类
9-2-1 异常类Exception
9-2-2 异常类层次
9-2-3 运行库异常
9-2-4 对象异常
9-2-5 组件异常
9-3 异常的响应与处理
9-3-1 使用异常实例
9-3-2 缺省异常响应
9-3-3 多个异常的处理
9-3-4 异常的重引发
9-3-5 异常嵌套
9-3-6 异常编程方法
9-3-7 TApplication类的异常处理程序
9-3-8 程序异常日志
9-4 自定义异常类
9-4-1 创建自定义异常类
9-4-2 引发自定义异常类
9-5 本章小结
第二部分 用户界面设计方略
第10章 窗体与窗口
10-1 窗体的基本属性
10-1-1 边框样式与边框图标
10-1-2 窗体位置
10-1-3 窗体与客户区的大小
10-1-4 窗体约束
10-2 字体比例调整
10-2-1 自动调整字体比例
10-2-2 手工调整字体比例
10-2-3 滚动条
10-3 窗体中的组件
10-3-1 组件的Owner属性与Parent属性
10-3-2 组件与控件计数
10-4 窗体事件
10-5 对话框与多窗体的创建与管理
10-5-1 模态窗口与非模态窗口
10-5-2 窗体的创建与释放时机
10-5-3 对话框
10-6 特殊窗体
10-6-1 封面窗口
10-6-2 无标题窗体
10-7 本章小结
第11章 输入处理
11-1 鼠标与键盘输入
11-1-1 鼠标事件
11-1-2 键盘事件
11-2 响应鼠标事件
11-2-1 鼠标事件处理过程的参数
11-2-2 响应OnClick事件
11-2-3 响应OnMouseDown事件
11-2-4 响应OnMouseMove事件
11-2-5 响应滚轮事件
11-3 响应键盘事件
11-3-1 键盘事件处理过程的参数
11-3-2 响应OnKeyPress事件
11-3-3 响应OnKeyDown事件
11-3-4 响应OnKeyUp事件
11-4 跟踪鼠标与键盘
11-4-1 跟踪鼠标事件
11-4-2 跟踪键盘事件
11-4-3 处理虚拟键
11-4-4 虚拟键的散列
11-5 本章小结
第12章 用户界面元素
12-1 菜单栏
12-1-1 菜单与菜单项
12-1-2 菜单项的图标
12-1-3 菜单项的加速键与快捷键
12-1-4 菜单命令的响应
12-1-5 动态管理菜单项
12-1-6 弹出式菜单
12-1-7 访问系统菜单
12-2 工具栏
12-2-1 TToolBar组件与TToolButton组件
12-2-2 按钮样式
12-2-3 工具栏中的组件
12-2-4 工具栏按钮的提示信息
12-2-5 提示信息的定制
12-2-6 提示信息窗口类
12-3 控件栏
12-3-1 TCoolBar组件
12-3-2 TControlBar组件
12-3-3 TControlBar组件中的菜单
12-4 活动抽象机制
12-4-1 引入活动抽象的原因
12-4-2 活动抽象的基本机制
12-4-3 使用活动关联菜单和按钮
12-4-4 活动的触发规则
12-5 状态栏
12-5-1 简单状态栏的使用方法
12-5-2 复杂状态栏的使用方法
12-5-3 跟踪键盘状态
12-6 本章小结
第13章 程序工作区
13-1 SDI、MDI与MPI
13-1-1 SDI
13-1-2 MDI
13-1-3 MPI
13-1-4 设计程序工作区的五项基本原则
13-2 TTabControl组件与TPageControl组件
13-2-1 TTabControl组件
13-2-2 TPageControl组件
13-2-3 动态MPI的管理
13-2-4 获取活动TJuMemo对象
13-2-5 页面切换
13-3 MPI编辑器
13-3-1 文件的保存
13-3-2 文件的关闭
13-3-3 窗体的关闭
13-3-4 文件的打印
13-4 框架组件
13-4-1 使用框架
13-4-2 框架的基本意义
13-4-3 窗体中的框架
13-5 本章小结
第14章 常用组件的高级用法
14-1 列表框组件
14-1-1 TListBox组件
14-1-2 TCheckListBox组件
14-1-3 TComboBox组件与TColorBox组件
14-2 视图组件
14-2-1 TListView组件
14-2-2 TTreeView组件
14-3 组件的自绘
14-3-1 TComboBox组件的自绘
14-3-2 TMenuItem组件的自绘
14-3-3 TListView组件的自绘
14-3-4 TTreeView组件的自绘
14-4 向导
14-5 本章小结
第15章 拖放与停靠
15-1 组件间的拖放
15-2 组件内的拖放
15-3 控件栏与控件的停靠
15-4 页面控件的停靠特性
15-5 本章小结
第三部分 组件开发与IDE扩展
第16章 类引用
16-1 类引用类型的概念
16-1-1 类引用类型的语法
16-1-2 类引用类型与类方法
16-2 类引用类型与类构造
16-2-1 类引用类型与类定义
16-2-2 Application对象与窗体创建
16-3 类引用类型与动态创建组件
16-3-1 控件的动态创建
16-3-2 类引用作为方法的参数
16-3-3 控件的动态复制
16-4 本章小结
第17章 属性与事件
17-1 属性
17-1-1 引入属性的意义
17-1-2 属性的访问说明
17-1-3 属性的存储说明
17-2 属性的类型
17-2-1 简单类型的属性
17-2-2 布尔类型与枚举类型的属性
17-2-3 集合类型的属性
17-2-4 对象类型的属性
17-2-5 数组类型的属性
17-3 高级属性特性
17-3-1 属性的索引说明
17-3-2 属性的覆盖与重定义
17-3-3 窗体类的属性声明
17-4 方法指针与事件
17-4-1 方法指针类型
17-4-2 事件
17-4-3 事件的基本用法
17-5 本章小结
第18章 运行时类型信息
18-1 RTTI的理论基础
18-1-1 RTTI的定义
18-1-2 RTTI的意义
18-2 获取持久类RTTI
18-2-1 基本RTTI数据结构
18-2-2 程序基本逻辑
18-2-3 动态创建持久类对象实例
18-2-4 获取类类型RTTI
18-2-5 获取类继承层次RTTI
18-2-6 类注册
18-3 RTTI检索
18-3-1 获取指向RTTI的指针
18-3-2 使用TTreeView组件
18-3-3 RTTI字符串的层次结构
18-3-4 获取RTTI字符串
18-4 类类型RTTI检索
18-4-1 获取类RTTI
18-4-2 属性信息数据结构
18-4-3 获取类详细信息
18-4-4 获取属性信息
18-5 方法类型RTTI检索
18-5-1 获取方法RTTI
18-5-2 获取方法定义
18-6 其他类型RTTI检索
18-6-1 序数RTTI检索
18-6-2 动态数组RTTI检索
18-6-3 接口RTTI检索
18-6-4 属性与事件的继承层次
18-6-5 关于ClassWalker的余话
18-7 本章小结
第19章 基本组件开发技术
19-1 组件开发的基本方法
19-1-1 理解组件的三个视角
19-1-2 需要进行组件开发的场合
19-1-3 组件开发的基本途径
19-1-4 组件开发的基本流程
19-2 由现有组件派生新组件
19-2-1 创建简单组件
19-2-2 修改组件类
19-2-3 测试新组件
19-2-4 注册新组件
19-2-5 组件图标
19-3 组件包
19-3-1 包的基本概念与类型
19-3-2 包文件
19-3-3 创建包
19-3-4 包的组织与管理
19-4 由TCustomControl类派生新组件
19-4-1 使用组件专家创建新组件
19-4-2 添加属性声明
19-4-3 组件的构造方法与析构方法
19-4-4 字体调整
19-5 由TComponent类派生设计时不可见组件
19-5-1 创建TJuDate组件
19-5-2 添加OnDateChange事件
19-5-3 实现TJuDate组件的构造方法
19-5-4 指定组件的输入目录
19-5-5 使用TJuDate组件
19-6 本章小结
第20章 高级组件开发技术
20-1 属性类别
20-1-1 创建属性类别的基本方法
20-1-2 创建属性类别的OpenToolsAPI
20-1-3 属性类别的实现技术
20-2 属性编辑器
20-2-1 属性编辑器类
20-2-2 属性值的编辑
20-2-3 属性编辑器的特征
20-2-4 属性编辑器的注册
20-2-5 使用对话框编辑属性
20-3 组件编辑器
20-3-1 组件编辑器类
20-3-2 缺省组件编辑器类
20-3-3 简单的组件编辑器
20-3-4 组件编辑器的注册
20-4 本章小结
第21章 组件持久性
21-1 实现组件流的辅助类
21-1-1 TFiler类
21-1-2 TReader类
21-1-3 TWriter类
21-2 未发布普通属性的流操作
21-2-1 创建TJuDefPropComp组件
21-2-2 属性的读过程与写过程
21-2-3 使用TJuDefPropComp组件
21-3 未发布二进制属性的流操作
21-3-1 创建TJuWavePlayer组件
21-3-2 创建TJuWavePlayer组件的属性编辑器
21-3-3 使用TJuWavePlayer组件
21-4 本章小结
第22章 接口与COM
22-1 接口的一般概念
22-1-1 接口与类
22-1-2 接口的声明
22-1-3 接口的使用方法
22-1-4 接口的属性
22-2 接口的实现
22-2-1 接口的继承实现
22-2-2 接口的类类型属性委托实现
22-2-3 接口的接口类型属性委托实现
22-2-4 接口的引用
22-2-5 接口的赋值与类型适应
22-3 接口的多态性
22-3-1 接口的继承层次
22-3-2 类的继承层次
22-3-3 接口的多态
22-3-4 接口方法的重命名
22-4 基础COM编程
22-4-1 COM简史
22-4-2 COM基本概念
22-4-3 COM对象
22-4-4 COM类厂
22-4-5 COM服务器
22-4-6 注册COM服务器
22-4-7 测试COM服务器
22-5 本章小结
第23章 扩展Delphi/Kylix IDE
23-1 Open Tools API
23-1-1 Open Tools API简史
23-1-2 Open Tools API的体系结构
23-1-3 OTA主要接口概述
23-2 IDE向导
23-2-1 文本查找
23-2-2 IOTAWizard接口
23-2-3 IDE向导
23-2-4 IDE向导DLL
23-3 消息通知器
23-3-1 实现IOTAIDENotifier接口
23-3-2 注册消息通知器
23-4 本章小结
第四部分 操作系统核心编程
第24章 消息与消息处理
24-1 Windows消息机制
24-1-1 消息的基本概念
24-1-2 消息处理
24-2 Delphi消息处理机制
24-2-1 Delphi消息记录
24-2-2 VCL消息处理过程
24-2-3 消息的返回值
24-3 消息的分类
24-3-1 Windows标准消息
24-3-2 控件通知消息
24-3-3 自定义消息
24-4 消息与事件
24-4-1 消息的发送
24-4-2 VCL消息处理流程
24-4-3 消息与事件的关系
24-5 消息的拦截
24-5-1 子类化窗口过程
24-5-2 窗口方法映射
24-5-3 窗口钩
24-6 本章小结
第25章 操作系统信息检索
25-1 操作系统版本信息
25-1-1 GetVersionEx函数与TOSVersionInfo记录
25-1-2 TOSVersionInfoEx记录
25-1-3 实现ShowSystemVersion方法
25-1-4 访问注册表
25-1-5 结果输出
25-2 计算机名称信息
25-2-1 GetComputerNameEx函数
25-2-2 ShowComputerNames方法
25-3 硬件信息
25-3-1 GetSystemInfo函数与TSystemInfo记录
25-3-2 ShowHardware方法
25-4 系统配置信息
25-4-1 一般信息检索
25-4-2 环境变量串检索
25-5 内存状态信息
25-5-1 TMemoryStatus记录
25-5-2 实现ShowMemoryStatus方法
25-6 系统度量制信息
25-7 本章小结
第26章 动态链接库
26-1 DLL基础
26-1-1 DLL与动态链接
26-1-2 DLL与EXE
26-1-3 DLL的基本意义
26-2 使用DLL
26-2-1 隐式调用
26-2-2 显式调用
26-3 创建DLL
26-3-1 DLL中的窗体
26-3-2 DLL中的无模式窗体
26-3-3 编写DLL的基本原则
26-4 钩与DLL
26-4-1 Windows钩
26-4-2 定义钩数据结构
26-4-3 WH_MOUSE钩
26-4-4 钩的安装与脱离
26-4-5 DLL入口点
26-4-6 使用HookDll
26-5 本章小结
第27章 进程与内核对象
27-1 进程的基础知识
27-1-1 进程的基本概念
27-1-2 进程的实例句柄
27-1-3 进程的命令行
27-1-4 进程的环境变量
27-1-5 进程的目录
27-1-6 CreateProcess函数
27-1-7 ExitProcess函数与TerminateProcess函数
27-1-8 子进程的创建与消亡
27-2 Windows内核对象
27-2-1 内核对象的典型特征
27-2-2 内核对象类型与内核句柄表
27-2-3 内核对象的创建与关闭
27-2-4 进程间的内核对象共享
27-3 进程枚举
27-4 进程间通信
27-4-1 进程间通信问题及其基本实现策略
27-4-2 WM_COPYDATA消息
27-4-3 进程间的数据传输
27-5 本章小结
第28章 线程
28-1 线程的基础知识
28-1-1 进程与线程
28-1-2 宜使用多线程的场合
28-1-3 不宜使用多线程的场合
28-1-4 线程的调度与优先级
28-2 VCL线程对象
28-2-1 TThread类
28-2-2 使用TThread类
28-2-3 线程对象的构造与释放
28-2-4 线程函数
28-2-5 线程的终止与异常
28-3 VCL线程同步机制
28-3-1 Synchronize方法
28-3-2 Lock方法与Unlock方法
28-3-3 TCriticalSection类
28-3-4 TMultiReadExclusiveWriteSynchronizer类
28-3-5 TEvent类与TSimpleEvent类
28-3-6 WaitFor方法
28-4 Windows线程内核对象
28-4-1 TThread类的构造与CreateThread函数
28-4-2 线程的终止
28-4-3 线程与进程的标识
28-4-4 线程的调度与优先级
28-4-5 线程消息队列
28-5 Windows线程同步机制
28-5-1 TEvent类与事件内核对象
28-5-2 互斥内核对象
28-5-3 信号量内核对象
28-5-4 互锁函数族
28-6 线程局部存储
28-7 本章小结
第29章 文件与文件系统
29-1 文件系统信息检索
29-1-1 逻辑驱动器
29-1-2 卷
29-2 文件与目录基本操作
29-2-1 外壳组件
29-2-2 SHFileOperation函数
29-3 文件与目录高级操作
29-3-1 文件属性
29-3-2 文件查找
29-3-3 文件变化通知
29-4 本章小结
第30章 虚拟内存
30-1 Windows NT/2000/XP的虚拟地址空间布局
30-2 虚拟内存管理
30-2-1 保留与提交
30-2-2 共享内存与文件映射对象
30-2-3 保护属性
30-2-4 写时复制
30-3 MemTouch程序
30-3-1 VirtualQuery函数与VirtualQueryEx函数
30-3-2 VirtualMemoryQuery函数与VirtualMemoryWalk函数
30-3-3 GetTokens过程
30-4 VMQuery动态链接库
30-4-1 TVirtualMemoryInformation记录
30-4-2 实现VirtualMemoryWalk函数
30-4-3 实现VirtualMemoryQuery函数
30-4-4 实现GetMemoryInformation过程
30-4-5 DLL的映像基地址
30-5 堆栈与虚拟内存分配
30-5-1 栈
30-5-2 堆
30-5-3 虚拟内存分配
30-6 本章小结
第31章 区域对象与进程间通信
31-1 区域对象
31-1-1 区域对象的基本概念
31-1-2 创建区域对象
31-1-3 映射视图
31-1-4 解除视图映射与关闭区域对象
31-2 DLL与数据共享
31-2-1 实现Mapping动态链接库
31-2-2 实现读进程与写进程
31-3 TJuSectionObject类族
31-3-1 实现TJuSectionObject类
31-3-2 实现TJuMemMapping类
31-3-3 实现TJuFileMapping类
31-4 远程注入DLL与进程间通信
31-4-1 进程间通信:子类化
31-4-2 进程间通信:钩
31-4-3 创建远程线程
31-4-4 远程进程虚拟内存信息检索
31-5 本章小结
第五部分 附录
附录A 常用Delphi/Kylix常量、变量、函数与过程
A-1 应用程序级信息
A-2 数学运算
A-3 组件注册与Open Tools API
A-4 日期与时间
A-5 文件与文件管理
A-6 流操作
A-7 字符与字符串操作
A-8 类型转换
附录B Delphi/Kylix编译指示与工程选项
附录C 跨平台开发
C-1 从Windows到Linux的标准移植步骤
C-2 CLX与VCL的差异
C-3 Windows与Linux的差异
C-3-1 环境差异
C-3-2 目录差异
C-4 编写可移植代码的一般原则
C-4-1 一般原则
C-4-2 使用条件编译指令
C-4-3 位置无关代码与位置相关代码
C-4-4 消息与系统事件
附录D 程序调试
D-1 程序错误的种类
D-2 基本程序调试手段
D-2-1 设置调试工具选项
D-2-2 控制程序执行
D-2-3 使用断点
D-2-4 检查变量和表达式的值
D-2-5 检查函数和过程调用
D-2-6 检查局部变量
D-3 高级程序调试手段
D-3-1 检查线程状态
D-3-2 检查CPU状态
D-3-3 检查FPU状态
D-3-4 检查模块的装入与卸载
D-3-5 检查事件日志
附录E Delphi/Kylix IDE错误一览表
E-1 编译错误信息
E-2 运行时错误信息
E-2-1 I/O错误:错误编号为100~149
E-2-2 致命错误:错误编号为200~255
E-2-3 操作系统错误
附录F 名词与术语索引
附录G 参考文献与深入读物
猜您喜欢