第1章 注册表浏览器的开发 1
1.1 使用TRegistry 3
1.1.1 TRegistry属性 3
1.1.2 TRegistry方法 5
1.2 字符串 17
1.2.1 字符串类型 17
1.2.2 短字符串 19
1.2.3 长字符串 19
1.2.4 宽字符串 20
1.2.5 使用空字符结尾字符串 20
1.3.1 在列表中操作字符串 24
1.3 字符串列表 24
1.3.2 装载、保存字符串列表 27
1.3.3 创建新的字符串列表 27
1.3.4 向字符串列表中加入对象 30
1.3.5 字符串列表应用 31
1.4 记录和记录文件 35
1.4.1 记录 35
1.4.2 标准输入/输出 39
1.4.3 记录文件 41
1.5 动作列表开发 41
1.5.1 动作对象 42
1.5.2 使用Action 43
1.5.3 预定义Action类 46
1.5.4 编写动作组件 47
1.6 项目实现 50
1.6.1 程序界面 50
1.6.2 实现方法 51
1.6.3 技术点评 59
第2章 抓图及图像处理软件 60
2.1 位图 62
2.1.1 位图的基础知识 62
2.1.2 位图 63
2.1.3 TBitmap类 72
2.2.1 颜色 75
2.2 颜色与调色板 75
2.2.2 调色板(Palette) 79
2.3 设备环境 89
2.3.1 图形对象 89
2.3.2 图形模式 90
2.3.3 设备环境类型 94
2.3.4 利用设备环境获取设备信息 94
2.3.5 保存、恢复以及重设设备环境 95
2.4 Delphi的图形图像支持 96
2.4.1 TCanvas类 96
2.4.2 TImage类 108
2.4.3 TGraphic类 109
2.4.4 TPicture类 112
2.4.5 TPen类 115
2.4.6 TBrush类 118
2.4.7 类方法应用实例 119
2.5 项目实现 121
2.5.1 程序界面 121
2.5.2 实现方法 121
2.5.3 技术点评 128
第3章 文件管理软件 130
3.1 文件基本操作 132
3.2 使用SHFileOperation处理文件 135
3.3 文件的查找 138
3.4.1 大小、修改日期和属性 140
3.4 文件信息的获取 140
3.4.2 类型和图标 141
3.4.3 使用Windows Shell浏览子文件夹 143
3.4.4 对PIDL进行操作 147
3.5 VCL拖放 151
3.5.1 TControl的拖放支持 151
3.5.2 VCL拖放的开发过程 154
3.5.3 高级VCL拖放 155
3.6 OLE拖放 161
3.6.1 COM技术基础 162
3.6.2 OLE拖放理论 174
3.7 项目总结 178
3.7.1 程序界面 178
3.7.2 实现方法 179
3.7.3 技术点评 183
第4章 Hook程序 184
4.1 DLL技术 186
4.1.1 DLL的创建 186
4.1.2 函数的导出 187
4.1.3 DLL撰写 188
4.1.4 DLL使用 190
4.2 文件映像 193
4.2.1 基本知识 193
4.2.2 创建文件映像对象 194
4.2.3 共享文件和内存 199
4.2.4 对文件映像对象的读写 200
4.2.5 关闭文件映像对象 202
4.3 Hook技术 203
4.3.1 Hook链 203
4.3.2 Hook过程 203
4.3.3 Hook相关API函数 204
4.3.4 几种常用的Hook类型 208
4.4 任务栏开发 222
4.4.1 任务栏概述 222
4.4.2 任务栏按钮的可视性 222
4.4.3 使用状态栏 223
4.5 项目总结 230
4.5.1 程序界面 230
4.5.2 实现方法 231
4.5.3 技术点评 236
第5章 ICQ服务器 237
5.1 多线程技术 239
5.1.1 定义线程对象 239
5.1.2 编写线程函数 242
5.1.3 调整线程 244
5.1.4 执行线程对象 249
5.1.5 在分布式应用程序中使用线程 250
5.2 Socket技术 252
5.2.1 实现服务 252
5.2.2 Socket连接类型 253
5.2.3 描述Socket 254
5.3 Socket组件使用 255
5.3.1 使用TClientSocket 255
5.3.2 使用TServerSocket 256
5.3.3 对Socket事件作出响应 257
5.3.4 通过Socket连接读写数据 259
5.4 流 263
5.4.1 Delphi中的流类 263
5.4.2 文件流 265
5.4.3 内存流 267
5.5 TeeChart开发 268
5.5.1 设置TeeChart 268
5.5.2 图表数据的修改 271
5.5.3 使用图表和数据系列 276
5.6 项目总结 283
5.6.1 程序界面 283
5.6.2 实现方法 283
5.6.3 技术点评 286
第6章 DirectX游戏 287
6.1 DirectDraw 289
6.1.1 关于DirectDraw 289
6.1.2 DirectDraw特性 290
6.1.3 DirectX与组件对象模型(COM) 290
6.1.4 DirectDraw基本图形概念 291
6.1.5 DirectDraw结构 296
6.1.6 控制级(Cooperative Level) 299
6.1.7 DirectDraw对象 300
6.1.8 页面(Surface) 303
6.1.9 裁剪器(Clipper) 323
6.1.10 高级DirectDraw主题 327
6.2 DirectSound 341
6.2.1 DirectSound架构 341
6.2.2 DirectSoundCapture 344
6.3 项目实现 346
6.3.1 程序界面 346
6.3.2 技术点评 347
第7章 离线数据库浏览器 348
7.1.2 自动配置ODBC 350
7.1.1 保存设置信息 350
7.1 BDE及ODBC配置 350
7.1.3 手动配置ODBC 351
7.1.4 BDE参数配置 356
7.2 ADO组件开发 360
7.2.1 ADO组件概览 361
7.2.2 连接到ADO数据存储 362
7.2.3 使用事务 371
7.2.4 使用ADO数据集合 372
7.2.5 使用TADODataSet 379
7.2.7 使用TADOQuery 380
7.2.6 使用TADOTable 380
7.2.8 使用TADOStoredProc 382
7.2.9 执行命令 386
7.3 项目总结 390
7.3.1 程序界面 390
7.3.2 实现方法 390
7.3.3 技术点评 391
第8章 基子Delphi的Web 392
8.1 多层应用与瘦客户 394
8.1.1 多层体系结构概述 394
8.1.3 创建应用服务器的一般步骤 399
8.1.4 远程数据模块 401
8.1.5 Provider 403
8.1.6 创建客户程序的一般步骤 409
8.1.7 与应用服务器连接 410
8.1.8 调用服务器上的接口 413
8.2 CGI和ISAPI 414
8.2.1 基于CGI的解决方案 414
8.2.2 基于ISAPI的解决方案 414
8.2.3 ISAPI的扩展DLL 415
8.2.4 使用ISAPI的注意事项 416
8.3 Delphi下的Web开发 417
8.3.1 术语和标准 417
8.3.2 创建Web应用程序 418
8.3.3 创建回应消息内容 421
8.3.4 在回应中使用数据库信息 427
8.4 在MIDAS中使用Web技术 430
8.5.1 实现方法 436
8.5 项目总结 436
8.5.2 技术点评 437
附录A 文件相关API函数 438
8.1.2 选择连接方式 438
附录 438
附录B 打印相关API函数 439
附录C API和Delphi数据类型对照 440
附录D 文件名处理函数 441
附录E SHFileoperation标记 441
附录F 文件属性值 442
附录G 网络资源 442