前言 1
第1章 安装Delphi 4 1
1.1 Delphi 4的不同版本 1
1.2 软硬件环境要求 1
1.3 安装过程(以Windows 95中文版操作系统为例) 2
1.4 安装中应注意的几个问题 7
1.5 卸载Delphi 3 7
第2章 Delphi 4的新技术 8
2.1 语言 8
2.2 项目管理 9
2.4 程序调试 10
2.3 用户界面 10
2.5 支持MTS的开发 11
2.6 支持Windows98的开发 11
2.7 数据库访问技术和决策支持 11
2.8 方便地开发分布式应用和Internet应用 12
第3章 Delphi开发环境 13
3.1 启动Delphi 4 13
3.2 Delphi 4界面 13
3.3 菜单条 14
3.3.1 File菜单 16
3.3.2 Edit菜单 17
3.3.4 View菜单 19
3.3.3 Search菜单 19
3.3.5 Project菜单 21
3.3.6 Run菜单 22
3.3.7 Component菜单 24
3.3.8 DataBase菜单 24
3.3.9 Tools菜单 25
3.3.10 WorkGroups菜单 25
3.3.11 Help菜单 26
3.4 工具条 26
3.4.1 按钮介绍 26
3.4.2 定制工具条 27
3.5.1 Standard 29
3.5 构件板 29
3.5.2 Additional 30
3.5.3 Win32 31
3.5.4 System 32
3.5.5 Internet 32
3.5.6 Data Access 33
3.5.7 Data Controls 34
3.5.8 Midas 34
3.5.9 DecisionCube 35
3.5.10 QReport 36
3.5.12 Win3.1 37
3.5.11 Dialogs 37
3.5.13 Samples 38
3.5.14 ActiveX 38
3.5.15 重新排列构件板构件 39
3.6 窗体 39
3.7 代码编辑器 41
3.7.1 单元与窗体的关系 42
3.7.2 定制代码编辑器 42
3.7.3 代码编辑器的加速菜单 45
3.7.4 代码编辑器的使用 46
3.7.5 Code Insight的使用 49
3.7.6 代码管理器的使用 51
3.8 对象观察器 53
3.8.1 对象特性 53
3.8.2 对象事件 56
3.9 停泊窗口 57
3.9.1 如何将工具窗口停泊在代码编辑器窗口上 57
3.9.2 如何将停泊窗口离开代码编辑器窗口 58
3.10 帮助系统 58
第4章 项目管理 59
4.1 项目 59
4.1.1 系统产生的文件 59
4.1.3 创建一个新项目 60
4.1.2 装入一个项目 60
4.1.4 保存项目 61
4.1.5 添加窗体或单元 61
4.1.6 删除一个窗体或单元 62
4.1.7 指定项目的主窗体 62
4.1.8 删除文件 63
4.2 项目组 63
4.2.1 创建项目组 64
4.2.2 项目管理器窗口 65
4.2.3 项目的编译 65
5.1 开始一个应用程序 67
第5章 创建第一个Windows应用程序 67
5.2 设计窗体 68
5.3 设置构件 71
5.3.1 放置构件的操作步骤 71
5.3.2 构件排列 71
5.3.3 调整构件大小 73
5.3.4 锁定构件 74
5.3.5 修改特性 75
5.4 处理事件 76
5.4.1 定义事件处理过程 76
5.4.2 添加代码 77
5.5 指定帮助和肖像文件 78
5.6 编译、运行程序 78
5.7 单元结构 80
5.7 窗体文件 82
5.8 项目文件 84
第6章 对象库与Delphi向导 85
6.1 对象库 85
6.1.1 对象库介绍 85
6.1.2 使用对象库 89
6.2 定制对象库 89
6.2.1 添加新的应用程序到模板 90
6.2.2 添加新窗体模板到对象库 90
6.2.3 对象库对话框 91
6.3 使用向导 92
第7章 PASCAL语言 93
7.1 变量 93
7.1.1 声明变量 93
7.1.2 变量的命名规则 95
7.2 数据类型 95
7.2.1 简单类型 95
7.2.2 自定义数据类型 100
7.3 指针类型 112
7.3.1 指针类型的声明 112
7.3.2 指针的使用 113
7.3.3 无类型指针 116
7.4 Variant数据类型 117
7.5 过程类型 118
7.6 数据类型的兼容与强制转换 120
7.6.1 类型兼容 120
7.6.2 赋值兼容 120
7.6.3 变量强制类型转换 121
7.6.4 数值强制类型转换 122
7.7 数据类型运算符 123
7.7.1 算术运算符 123
7.7.2 逻辑运算符 124
7.7.4 运算符的优先级 125
7.7.3 关系运算符 125
7.8 语句 126
7.8.1 赋值语句 126
7.8.2 块语句 127
7.8.3 Delphi控制语句 128
7.9 过程与函数 138
7.9.1 过程的定义和调用 138
7.9.2 函数的定义和调用 140
7.9.3 返回值 141
7.9.4 调用约定 142
7.9.5 指示字 143
7.9.6 参数 144
8.1 类类型和对象概 146
第8章 对象与类类型 146
8.2 类类型中的方法 149
8.2.1 方法的声明和定义 149
8.2.2 构造和析构 149
8.2.3 方法指示字 152
8.2.4 抽象方法 155
8.2.5 重裁方法与重定义方法 155
8.3 类型中的特性 157
8.3.1 声明特性 157
8.3.2 特性限定符 158
8.3.4 特性重裁 161
8.3.3 组特性 161
8.4 类成员的可见性 162
8.4.1 Private 164
8.4.2 Public 164
8.4.3 Published 164
8.4.4 Protected 164
8.4.5 Automated 164
8.5 类类型的兼容性 165
第9章 单元与结构 167
9.1 Program单元 167
9.2 UNIT单元 168
9.2.1 单元结构 168
9.2.3 接口部分 169
9.2.2 单元首部 169
9.2.4 实现部分 170
9.2.5 USES子句 172
9.2.6 初始化部分 174
9.2.7 完成部分 174
第10章 程序包 176
10.1 程序包概述 176
10.1.1 运行时程序包 176
10.1.2 设计时程序包 177
10.2 使用环境 177
10.3 使用程序包技术编译 178
10.4 使用程序包时应注意的问题 179
第11章 窗体设计 180
11.1 窗体与窗口的关系 180
11.1.1 窗口的概念 181
11.1.2 Delphi窗体 181
11.2 窗体特性 182
11.3 固定窗体 182
11.4 固定窗体的横宽 184
11.5 无标题条窗口 186
11.6 窗体间相互连动 189
11.7 实例源代码 191
12.1.2 打开菜单设计者 203
12.1.1 加入菜单构件 203
第12章 菜单的创建与管理 203
12.1 菜单设计者 203
12.1.3 菜单项命名 205
12.1.4 增加、插入、修改和删除菜单项 205
12.1.5 增加分隔条 207
12.1.6 定义加速键和快捷键 207
12.1.7 调整菜单位置 208
12.1.8 菜单设计者窗口的加速菜单 208
12.2 创建子菜单 209
12.3 菜单模板 210
12.3.1 插入菜单模板 210
12.3.3 将一个菜单保存为模板 211
12.3.2 删除菜单模板 211
12.4 编写菜单事件处理代码 212
12.4.1 菜单构件事件 212
12.4.2 菜单项事件 212
12.4.3 使用已存在的事件处理过程 213
12.5 动态管理菜单 214
12.5.1 增加项目到菜单 214
12.5.2 删除菜单项 215
12.5.3 隐藏或显示菜单项 215
12.5.4 启用或禁用菜单项 215
12.5.4 动态管理菜单举例 215
12.6.1 定制菜单复选标记 223
12.6 图形菜单项 223
12.6.2 位图菜单项 226
第13章 MDI编程 232
13.1 建立MDI父窗体和子窗体 232
13.2 建立应用程序菜单 235
13.3 管理MDI子窗口 237
13.3.1 创建新窗口 237
13.3.2 安排图标 238
13.3.3 层叠MDI窗口 238
13.3.4 并列MDI子窗口 239
13.3.5 建立子窗口列表 239
13.3.7 使用MDI父窗口特性 240
13.3.6 关闭子窗口 240
13.4 使用模板 241
第14章 构件的使用 242
14.1 轨迹条 242
14.1.1 轨迹条的特性 242
14.1.2 轨迹条构件的事件 243
14.2 进度条 244
14.3 上下构件 246
14.3.1 上下构件的特性 247
14.3.2 上下构件的事件 247
14.4 状态条构件 248
14.5 上下构件及状态条的使用举例 250
14.6 树状视图 256
14.6.1 TTree View构件的特性 257
14.6.2 TTree View构件的方法 258
14.6.3 TTree View构件的使用举例 259
14.7 行为列表构件 268
14.7.1 行为对象 268
14.7.2 行为列表 269
14.7.3 行为连接 271
14.7.4 使用举例 271
14.8.1 特性与方法 274
14.8 工具条构件 274
14.8.2 使用举例 276
14.9 QuickReport构件 283
14.9.1 QuickReport的特点 283
14.9.2 QuickReport向导 284
14.9.3 QuickReport构件 285
14.9.4 创建一个简单的报表 287
14.10 TeeChart构件 288
14.10.1 TecChart的特点 288
14.10.3 TeeChart使用向导 289
14.10.4 创建一个图表 289
14.10.2 TeeChart构件的分类 289
14.10.5 图表编辑器 291
14.10.6 添加代码 292
第15章 多线程编程 295
15.1 线程 295
15.2 线程类 295
15.2.1 线程类特性 296
15.2.2 线程类方法 296
15.3 创建多线程程序 297
15.3.1 创建多线程 297
15.3.2 启动线程 300
15.3.3 线程的暂停、恢复和终止 301
15.4 线程的优先级 302
第16章 开发DDE程序 304
16.1 DDE会话 304
16.2 DDE客户程序 305
16.2.1 创建DDE客户程序 305
16.2.2 建立与DDE服务器的连接 305
16.2.3 请求数据 306
16.2.4 发送数据 307
16.2.5 控制其他程序 307
16.3 DDE服务器程序 308
16.3.1 创建DDE服务器程序 308
16.3.2 建立与DDE客户程序的连接 309
17.1 TMediaPlay构件 310
17.1.1 媒体播放器构件 310
第17章 开发多媒体应用程序 310
17.1.2 特性 311
17.1.3 方法 315
17.1.4 事件 317
17.2 示列——简单的AVI文件播放器 318
17.3 示例——一个带背景音乐的图片浏览器 319
17.4.1 CD音碟播放器应具备的基本功能 324
17.4.2 对象特性设置 324
17.4 示例——一个完整的CD音碟播放器 324
17.4.3 CD音碟播放器完整程序代码 329
第18章 创建数据库应用程序 338
18.1 数据库基础 338
18.1.1 关系数据库 338
18.1.2 选择数据库 339
18.1.3 数据源 340
18.1.4 使用Database Desktop建立一个新表 342
18.2 Delphi数据库构件 343
18.2.1 数据访问构件 344
18.2.2 数据控制构件 349
18.3.1 设计过程 350
18.3 手工建立数据库应用程序 350
18.3.2 测试应用程序 351
18.3.3 对程序进一步改进 352
18.4 定制数据输入界面 357
18.4.1 使用TBDEdit构件 358
18.4.2 使用TDBLookupComboBox构件 358
18.4.3 创建数据输入窗体程序 358
18.4.4 计算字段 360
18.4.5 数据的安全性考虑 361
18.5 多表连接 362
18.5.2 创建多数据库表连接程序 363
18.5.1 数据库表格的连接 363
18.6 使用SQL 365
18.6.1 一个简单的SQL查询程序 365
18.6.2 设计SQL编辑器 371
第19章 动态链接库 374
19.1 创建动态链接库 374
19.2 调用Delphi DLL 379
19.2.1 静态调用 380
19.2.2 动态调用 381
第20章 创建构件 387
20.1 基本知识 387
20.1.1 选择基类 387
20.2.1 构件向导 388
20.1.2 编写构件的规则 388
20.2 建立框架 388
20.2.2 使用程序包 389
20.3 创建图形构件 390
20.3.1 第一步 构件专家 391
20.3.2 第二步 中入constructor和destructor方法 391
20.3.3 第三步 添加特性和内部变量 392
20.3.4 第四步 添加Paint事件处理程序 393
20.4 创建可视化构件 399
20.4.1 第一步 创建TMult构件 399
20.4.2 第二步 添加特性 399
20.4.3 第三步 添加构造函数 400
20.4.5 第五步 增加一个事件 401
20.4.4 第四步 增加方法 401
20.4.6 第六步 测试构件 403
20.4.7 第七步 进一步改进 405
20.4 数值输入构件 406
第21章 ActiveX构件 412
21.1 ActiveX的由来 412
21.2 ActiveX构件 412
21.3 可视化构件到ActiveX构件的转换 413
21.4 修改ActiveX构件 418
21.5 注册ActiveX构件 418
22.1 HTTP和HTML协议 420
第22章 创建Internet服务器程序 420
22.2 Internet网上的静态内容 421
22.3 创建动态Web内容 425
22.3.1 Web工作机制 425
22.3.2 使用Web服务器程序向导 426
22.4 Web服务器程序技术分析 428
22.4.1 Web服务器程序的结构 428
22.4.2 Web服务器程序的类型 429
22.4.3 Web模块 430
22.4.4 Web调度器 430
22.4.5 动作项 431
22.4.6 TWebRequest对象 433
22.4.7 TWebResponse对象 434
22.5.1 HTML模板 436
22.5.2 指定HTML模板 437
22.5.3 转换HTML标记 437
22.6 处理数据库信息 438
22.6.1 添加TSession构件 439
22.6.2 数据集页面生成器 439
22.6.3 表页面生成器 439
22.7 利用窗体从客户端获取信息 440
22.8 建立ActiveForm 443