1.1 基本概念 1
1.1.1 Delphi的基本形式 1
1.1.2 面向对象编程的概念 1
1 Delphi快速入门 1
1.2 Delphi 4.0的新特性 2
1.2.1 对Obiect Pascal语言的新扩展 2
1.2.3 新的代码探测器 4
1.2.4 新的工具窗口特性——Dockable 4
1.2.2 新的工程管理器 4
1.2.5 改进的调试功能 5
1.2.6 Run菜单中新增的命令 5
1.2.7 增强的数据库 6
1.2.8 客户数据集 6
1.2.9 运行时间库——RTL 6
1.2.10 增强的ActiveX和VCL 6
1.2.11 支持CORBA 7
1.2.12 支持多级开发 7
1.3.1 进入Delphi的可视化编程环境 8
1.3 Delphi 4.0可视化编程环境 8
1.3.2 Delphi 4.0可视化编程环境 9
1.3.3 设计简单的用户界面 10
1.3.4 改变对象的属性 12
1.3.5 编写事件处理过程 14
1.3.6 使用联机帮助 15
1.4 Delphi 4.0的可视化部件及其用法 16
1.4.1 常用的文本相关部件 16
1.4.2 按钮和检查框部件 17
1.4.3 分组、分界部件 18
1.4.4 图形、图像部件 18
1.4.5 关系图、文件列表部件 19
1.4.6 滚动部件 19
1.4.7 网格、表格部件 20
1.4.8 多媒体(MultiMedia)和OLE部件 20
1.5 Delphi 4.0的非可视部件及其用法 21
1.5.1 使用菜单部件 21
1.5.3 公用对话框部件 23
1.5.2 计时器部件Timer 23
1.6 Delphi的工程管理、设计工具 25
1.6.1 创建多窗体工程项目 25
1.6.2 工程管理器Proiect Manager 26
1.6.3 窗体样板和对话框向导 27
1.6.4 工程样板和应用向导 28
2 面向对象的编程方法 30
2.1 编写Object Pascal程序代码 30
2.1.1 编写赋值语句 30
2.1.2 标识符的说明与使用 31
2.1.3 过程与函数 33
2.1.4 跳转语句 35
2.1.5 循环语句 36
2.1.6 程序模块 37
2.1.7 关于作用范围 38
2.1.8 编写过程或函数 39
2.1.9 定义新的数据类型 43
2.1.10 Obiect Pascal的库单元Unit 47
2.2.1 什么是对象 49
2.2 用Delphi的对象进行编程 49
2.2.2 从—个对象中继承数据和方法 51
2.2.3 对象的范围 52
2.2.4 对象公有域和私有域的说明 53
2.2.5 访问对象的域和方法 53
2.2.6 对象变量的赋值 54
2.2.7 建立非可视化对象 56
3.1 字符串列表的常用操作 58
3.1.1 列表中操作字符串 58
3 字符串列表及应用 58
3.1.2 装载、保存字符串列表 60
3.1.3 创建新的字符串列表 61
3.1.4 往字符串列表中加入对象 63
3.2 字符串列表应用 64
3.2.1 设置自画风格 65
3.2.2 把图像加入字符串列表 65
3.2.3 绘制自画项目 65
4.1.1 创建父窗口 68
4 多文本和多页面界面的设计 68
4.1 多文本界面(MDI) 68
4.1.2 创建子窗口 69
4.1.3 创建应用程序菜单与菜单融合 69
4.2 多页面界面(MPI) 70
4.2.1 静态多页面界面 71
4.2.2 动态多页面界面 71
4.3 文本编辑部件及应用 74
4.3.1 TEdit部件 74
4.3.2 TMemo部件 74
4.4 常用对话框的使用 76
4.4.1 字体对话框部件 76
4.4.2 查找对话框部件 77
4.4.3 替换对话框部件 81
4.4.4 打开对话框部件 82
4.5 文件打印 84
4.5.2 TPrintDialog打印对话框 85
4.5.1 TPrinter对象 85
5 图形图像编程 87
5.1 图形对象概述 87
5.1.1 TCanvas Object(画布对象) 87
5.1.2 Tpen Object(画笔对象) 88
5.1.3 TBrush Object(画刷对象) 89
5.1.4 TColor类型 89
5.2.1 在工具条中添加加速按钮 90
5.2 图形程序的开发 90
5.2.2 响应鼠标事件 91
5.2.3 绘图功能的实现 92
5.3 图像对象概述 95
5.3.1 TGraphic对象 95
5.3.2 TPicture对象 96
5.3.3 TImage部件 96
5.3.4 TBitmap Object(位图对象) 96
5.4 图像对象的应用 96
6.1 文件类型和标准过程 99
6.1.1 文本文件 99
6 文件管理的实现 99
6.1.2 记录文件 100
6.1.3 无类型文件 101
6.1.4 Delphi的文件管理标准过程 101
6.2 记录文件的应用 104
6.2.1 任务介绍 104
6.2.2 设计的基本思路 104
6.2.3 记录文件的打开和创建 106
6.2.4 记录文件的读入和显示 108
6.2.5 增加一条记录 109
6.2.6 修改记录 110
6.2.7 记录的删除、插入、排序 111
6.2.8 编辑对话框的输入检查 114
6.2.9 文件和系统的关闭 115
6.2.10 记录文件小结 116
6.3 文件控件的应用 116
6.3.1 文件控件及其相互关系 116
6.3.2 文件名查找系统的设计思路 117
6.3.3 文件名查找系统的功能和实现 118
6.4 文件管理器的设计与开发 121
6.4.1 设计的基本思路 121
6.4.2 子窗口的创建、布置和关闭 123
6.4.3 文件控件的联系 124
6.4.4 DriveTabSet的自画风格显示 124
6.4.5 文件管理基本功能的实现 126
6.4.6 其他文件管理功能的实现 132
6.4.7 目录管理功能的实现 135
6.4.8 一些问题的处理 139
6.4.9 小结 141
7 拖放编程 142
7.1 控件的拖放支持 142
7.1.1 拖放属性 142
7.1.2 拖放事件 142
7.1.3 拖放方法 144
7.2 开发拖放功能的一般步骤 145
7.2.1 开始拖动操作 145
7.2.3 放下拖动项目 146
7.2.2 接收拖动项目 146
7.2.4 结束拖动操作 147
7.3 拖放应用实例:文件管理器的拖放支持 147
7.3.1 记录每一驱动器的当前目录 147
7.3.2 保证移动、拷贝与子窗口的无关性 148
8.1.1 动态链接库的工作原理 150
8.1.2 Windows系统的动态链接库 150
8.1 Windows的动态链接库原理 150
8 动态链接库编程 150
8.2 DLL的编写和调用 151
8.2.1 DLL的编写 151
8.2.2 调用DLL 155
8.2.3 静态调用 155
8.2.4 动态调用 155
8.3 利用DLL实现数据传输 158
8.3.1 DLL中的全局内存 158
8.3.2 利用DLL实现应用程序间的数据传输 158
8.4.1 利用DLL实现窗体重用的一般步骤 161
8.4 利用DLL实现窗体重用 161
8.4.2 窗体重用实例 162
8.4.3 小结 166
9 应用程序的Help编程 167
9.1 定义应用程序的帮助文件 167
9.2 通用对话框中使用帮助系统 169
9.3 Delphi帮助提示(Hint)的应用 169
9.3.1 帮助提示的显示 169
9.3.2 OnHint事件 170
10.1 Delphi异常处理机制与异常类 172
10 异常处理 172
10.1.1 运行时间库异常类(RTL Exception) 173
10.1.2 对象异常类 176
10.1.3 部件异常类 178
10.2 异常保护 179
10.2.1 需要保护的资源 179
10.2.2 产生一个资源保护块 179
10.3 异常响应 180
10.3.2 提供缺省响应 181
10.3.1 使用异常实例 181
10.3.3 响应一族异常 182
10.3.4 异常的重引发和处理嵌套 182
10.3.5 自定义异常类的应用 183
10.3.6 利用异常响应编程 187
11 程序调试 189
11.1 调试的准备和开始 189
11.1.1 产生调试信息 189
11.2 程序运行的控制 190
11.1.2 运行程序 190
11.3 断点的使用 191
11.3.1 设置断点 191
11.3.2 断点的操作 191
11.3.3 修改断点属性 192
11.3.4 断点和程序执行点颜色的设置 193
11.4 监视数据的值 193
11.4.1 监视表达式 193
11.4.2 计算/修改表达式 193
11.4.3 显示函数调用 194
11.5 WinSight 195
12 Delphi开发数据库应用程序 196
12.1 数据库系统概述 196
12.2 Delphi的数据库特性及功能简介 196
12.2.1 Delphi的数据库特性 197
12.2.2 Delphi可以访问的数据源(DataSource) 198
12.3 Delphi数据库的体系结构 199
12.3.1 数据访问部件 199
12.3.2 数据控制部件 201
12.3.3 数据库窗体向导和数据库操作台(DBD) 202
12.4 开发Delphi数据库应用程序的方法和步骤 203
12.4.1 数据库应用程序的开发步骤 203
12.4.2 交付数据库应用程序 204
13 简单数据库应用程序的设计 205
13.1 简单的基于单表的数据库应用 205
13.1.1 选择相关的部件 205
13.1.2 设置部件的属性 205
13.1.3 运行程序 206
13.2 利用TDBNavigator部件创建存取程序 207
13.2.1 创建应用程序窗体 208
13.2.2 使用TDBNavigator部件移动记录指针 208
13.2.3 定制TDBNavigator部件 209
13.3 创建主要—明细数据库应用 210
13.3.1 一对多关系的主要-明细型数据库应用程序 210
13.3.2 一对多-多关系的数据库应用 211
13.4 字段对象的使用 212
13.4.1 字段对象的类型 213
13.4.2 创建永久性的字段对象 213
13.4.3 字段对象的属性设置 214
13.4.4 字段对象的访问 215
13.4.5 设定字段对象的显示格式 218
13.4.6 自定义字段以及计算字段对象的创建 219
13.5 查询数据库中的记录 220
13.5.1 使用GotoKey方法查找数据记录 220
13.5.3 不精确查找 222
13.5.2 使用FindKey方法查找数据库中的记录 222
13.6 修改数据库中的记录 224
13.6.1 Edit方法Post方法 224
13.6.2 实现异常保护的Try...Finally语句 225
13.7 插入和删除记录 229
13.7.1 逐步插入方法 229
13.7.2 调用InsertRecord插入记录 230
13.8 输入数据的有效性验证 232
14.2 TSession部件及其应用 235
14.1 数据访问部件的层次结构 235
14 数据访问部件的应用及编程 235
14.2.1 TSession部件的重要属性及作用 236
14.2.2 TSession部件的方法 236
14.2.3 TSession部件应用举例 237
14.3 数据集部件TDataSet及其应用 240
14.3.1 数据集部件的几种状态 240
14.3.2 数据集的打开和关闭 241
14.3.3 数据集的导航 241
14.3.4 数据集中的数据维护 242
14.3.5 数据集部件与数据浏览部件的连接 245
14.3.6 数据集部件的事件 246
14.4 TTable部件及应用 246
14.4.1 TTabel部件主要的属性 246
14.4.2 TTable部件的方法及其应用 248
14.5 TDataSource部件及其应用 252
14.5.1 TDataSource部件的属性 252
14.5.2 TDataSource部件的事件 253
14.6.1 字段部件 254
14.6 字段部件和字段编辑器的使用 254
14.6.2 字段编辑器的使用 259
14.7 TReport部件及其应用 261
14.8 应用举例:多个窗体显示同一个数据库表 262
15 数据控制部件的应用及编程 263
15.1 数据浏览部件的基本特性 264
15.2 使用TDBText部件显示表中的数据 265
15.3 使用TDBEdit部件显示和编辑表中的数据 265
15.4 用TDBGrid部件显示和编辑表中的数据 266
15.4.1 TDBGrid部件的主要属性及应用 267
15.4.2 TDBGrid部件的事件及应用 269
15.5 TDBNavigator部件及其应用 270
15.6 TDBMemo部件及其应用 271
15.7 TDBImage部件及其应用 272
15.8 数据浏览部件中的列表框和组合框 272
15.9 TDBComboBox部件 272
15.10 TDBListBox部件 273
16.1.1 什么是部件 275
16.1.2 编写部件的不同之处 275
16.1 Delphi部件原理 275
16 自定义部件开发 275
16.1.3 建立部件过程概略 276
16.2 Delphi部件编程方法 276
16.2.1 Delphi部件编程概述 276
16.2.2 Delphi部件编程 285
16.3 Delphi部件编程实例 305
16.3.1 创建数据相关的日历控制——TDBCalendar 305
16.3.2 创建图形部件 310