第一部分 Delphi 6与企业级应用开发 1
第1章 用Delphi 6构建企业级应用 1
1.1 企业和企业级应用 1
1.2 企业级应用体系结构 3
1.2.1 表现层 4
1.2.2 业务层 6
1.2.3 数据层 7
1.2.4 三层结构的优势 8
1.3 企业级应用体系构建思想的发展 9
1.4 选择Delphi 6作为企业级开发的利器 15
1.4.1 Delphi 6适用对象和所能实现的开发目标 18
1.4.2 用Delphi 6实现企业级多层应用体系结构 19
第2章 企业级应用开发方略 22
2.1 企业级开发概述 22
2.1.1 企业级开发的多角度视图 22
2.1.2 信息系统的构成和参与者 24
2.1.3 系统开发生命周期 25
2.2 CMM与软件开发过程 26
2.2.1 与CMM有关的概念 27
2.2.2 CMM模型 28
2.2.3 CMM对软件过程的改进 32
2.3 开发组织管理 33
2.3.1 人员组织 33
2.3.2 项目管理 35
2.3.3 文档管理 39
2.4 需求和系统分析 42
2.4.1 需求分析 42
2.4.2 系统分析的方法 44
2.4.3 系统的信息分析和功能分析 46
2.4.4 系统的结构分析 49
2.5 分布式应用系统设计方法 53
2.5.1 分布式结构实现模型 53
2.5.2 设计目标和约束分析 55
2.5.3 设计分布式应用程序 58
2.6 组件模型和基于组件的开发 61
2.6.1 组件的概念 61
2.6.2 组件模型 62
2.6.3 基于组件的开发 64
2.6.4 组件标准 65
2.7 面向对象的开发方法 67
2.7.1 面向对象技术的背景及特点 68
2.7.2 面向对象程序设计与面向对象数据库 69
2.7.3 面向对象的系统分析与设计 70
2.8 质量管理和系统测试 73
2.8.1 软件的质量 73
2.8.2 质量管理 76
2.8.3 系统测试 78
3.1 Object类 81
第二部分 Delphi 6企业级应用开发技术 81
第3章 VCL和编程基本组件 81
3.2 VCL的层次结构 82
3.2.1 组件 84
3.2.2 Windows自己的组件 85
3.2.3 对象 85
3.3 VCL的属性、方法和事件 86
3.3.1 通用的VCL属性 86
3.3.2 通用的VCL方法 87
3.3.3 通用的VCL事件 88
3.4 按钮型组件 89
3.4.1 TButton 89
3.4.2 TBitBtn 90
3.4.3 TSpeedButton 91
3.5 编辑型组件 92
3.5.1 TLabel、TStaticText和TLabeledEdit 93
3.5.2 TEdit、TMaskEdit和TSpinEdit 94
3.5.3 TMemo和TRichEdit 97
3.6.1 TRadioButton和TRadioGroup 99
3.6 选择型组件 99
3.6.2 TCheckBox和TCheckListBox 101
3.6.3 TComboBox 102
3.6.4 TListBox 105
3.6.5 TComboBoxEx 109
3.6.6 TColorBox 111
3.7 调节型组件 111
3.7.1 TScrollBar 111
3.7.2 TSplitter 113
3.7.4 TUpDown 115
3.7.3 TTrackBar 115
3.8 容器型组件 117
3.8.1 TGroupBox 117
3.8.2 TScrollBox 117
3.8.3 TPanel 118
3.8.4 TPageControl 119
3.8.5 TFrame 122
3.9 显示型组件 126
3.9.1 TDrawGrid 126
3.9.2 TStringGrid 128
3.9.3 TTreeView 130
3.9.4 TListView 134
3.9.5 TValueListEditor 141
第4章 用户界面设计技术 145
4.1 用户交互界面设计概述 145
4.1.1 常用控件的设计 145
4.1.2 窗体和提示框的设计 147
4.2 菜单设计 148
4.2.2 TPopupMenu 149
4.2.1 TMainMenu 149
4.2.3 TMenuItem 151
4.2.4 Menu Designer 154
4.2.5 创建可移植菜单 156
4.2.6 动态菜单 160
4.2.7 宿主绘制菜单 164
4.2.8 菜单的融合 167
4.2.9 控制菜单设计 169
4.3.1 模式对话框与非模式对话框 172
4.3 对话框 172
4.3.2 公用对话框组件 176
4.3.3 标准对话框 189
4.4 快捷工具设计 194
4.4.1 工具栏设计 194
4.4.2 状态栏设计 203
4.4.3 系统托盘程序 206
4.5 Action及Action的统一管理 209
4.5.1 TAction 210
4.5.2 TActionList 211
4.5.3 TActionManager 212
4.5.4 创建ActionBand 215
第5章 字符、文件处理和键盘、鼠标编程 219
5.1 字符和文本的处理 219
5.1.1 字符和字符串相关类型 219
5.1.2 字符串相关方法 220
5.1.3 字符串列表 228
5.2 文件操作 230
5.2.1 文件命令 230
5.2.2 文本文件 233
5.2.3 有类型文件 234
5.2.4 无类型文件 238
5.2.5 初始化文件 239
5.2.6 文件流 241
5.2.7 内存映射文件 247
5.2.8 文件系统 250
5.3 键盘和鼠标编程 260
5.3.1 键盘编程 260
5.3.2 鼠标编程 262
6.1.1 DLL概貌 271
第6章 Windows高级编程技术 271
6.1 DLL编程技术 271
6.1.2 在Delphi中创建DLL 272
6.1.3 使用动态链接库 275
6.2 OLE和COM编程技术 277
6.2.1 COM对象和类工厂 277
6.2.2 Automation 280
6.2.3 创建Automation服务器 281
6.3.1 在Delphi中使用ActiveX控件 288
6.3 ActiveX编程技术 288
6.3.2 在Delphi中编写ActiveX控件 294
6.4 使用Windows注册表 294
6.5 Windows的消息处理 297
6.5.1 何为消息 298
6.5.2 消息的处理方法 298
6.5.3 Windows消息分类 300
6.5.4 发送消息 300
6.5.5 处理消息 301
6.5.6 消息过滤 302
第7章 图形图像及多媒体编程技术 305
7.1 图形图像技术 305
7.1.1 TCanvas对象 305
7.1.2 TShape对象 310
7.1.3 图像对象 311
7.2 多媒体程序设计 313
7.2.1 创建一个简单的媒体播放器 313
7.2.2 播放WAV文件和AVI视频 314
8.1.1 使用数据库 317
8.1 设计数据库应用程序 317
第8章 数据库应用技术 317
8.1.2 数据库应用程序的体系结构 319
8.1.3 设计用户界面 323
8.2 SQL编程技术 324
8.2.1 SQL语言简介 324
8.2.2 使用SQL编程 326
8.2.3 使用存储过程 331
8.2.4 使用事务 337
8.3.1 MIDAS技术 339
8.3 MIDAS和多层应用系统开发 339
8.3.2 MIDAS应用程序的工作流程 341
8.3.3 创建一个多层数据库应用程序的基本过程 342
8.4 ADO数据库访问技术 346
8.4.1 ADO概述 347
8.4.2 连接ADO数据库 347
8.4.3 ADO数据集 354
8.4.4 使用TADODataSet 357
8.4.6 使用TADOQuery 358
8.4.5 使用TADOTable 358
第9章 Web应用程序开发技术 360
9.1 Web服务器应用程序概述 360
9.1.1 URL和HTTP 361
9.1.2 HTTP服务器 362
9.1.3 Web服务器应用程序类型 363
9.2 使用WebSnap 364
9.2.1 WebSnap概述 364
9.2.2 创建Web服务器应用程序 366
9.2.3 Web模块 370
9.2.4 Adapter 372
9.2.5 Page Producer 372
9.3 在WebSnap中编写服务器端脚本 373
9.3.1 脚本块 373
9.3.2 编辑和查看脚本 373
9.3.3 包含其他文件 374
9.3.4 脚本对象 375
9.4.2 Dispatcher组件 376
9.4.1 WebContext 376
9.4 WebSnap工作流程 376
9.4.3 Dispatcher工作原理 377
9.5 一个WebSnap实例 381
9.5.1 新建WebSnap应用程序 381
9.5.2 创建数据库模块 383
9.5.3 创建页面模块 384
9.6 Web服务器应用程序的调试 388
10.1.1 系统背景 391
10.1 系统解决方案 391
第10章 系统概述 391
第三部分 人力资源管理系统解决方案及应用剖析 391
10.1.2 需求分析 392
10.1.3 实现方案 394
10.2 系统约定 396
10.2.1 编码规范 396
10.2.2 用户分组 399
10.3 数据库设计 400
10.3.1 设计数据库表结构 400
10.3.2 编写SQLServer 2000脚本语言 402
第11章 人事信息维护管理 408
11.1 人员维护 408
11.1.1 新建一个WebSnap应用程序 408
11.1.2 基本信息维护页面 411
11.1.3 完善记录的定位、浏览和增减功能 415
11.1.4 主从明细表的处理 419
11.2 照片维护 422
11.3 动态查询 428
11.3.1 决策查询 428
11.3.2 人员查询 433
11.4 图表显示 434
11.4.1 创建查询统计图表的ActiveForm 435
11.4.2 设计和整合统计图表页面 439
第12章 系统登录及安全控制 443
12.1 WebSnap安全机制 443
12.2 系统登录 446
12.3 安全控制 450
第13章 系统的进一步完善 453
13.1 增加BBS讨论组 453
13.2 增加收发邮件功能 457
13.2.1 登录邮件服务器 459
13.2.2 查看和阅读邮件 462
13.2.3 发送和群发邮件 473
13.3 页面的美化 477
第四部分 电子商务货物配送系统解决方案及应用剖析 485
第14章 系统概述 485
14.1 系统解决方案 485
14.1.1 电子商务货物配送系统的实现目标 485
14.1.3 电子商务货物配送系统的解决方案 486
14.1.2 对电子商务货物配送系统功能的基本要求 486
14.2 系统分析 488
14.3 数据组织 491
14.3.1 代码设计 491
14.3.2 数据库结构设计 494
14.3.3 创建数据库对象和数据维护 497
14.4 系统的初始设置 499
14.5 系统内部控制机制设计 506
15.1 模块概述 508
第15章 代码维护模块 508
15.2 使用Frame构建复用界面 509
15.3 使用DataModel集成数据库环境 512
15.4 使用Treeview导航表数据 517
15.5 使用公共单元实现模块维护 520
15.6 使用注册表设置系统参数 527
15.7 使用ActionManager管理操作动作 529
第16章 出库管理模块 539
16.1 模块概述 539
16.2 创建登录服务器程序 541
16.3 创建出库服务器程序 545
16.4 创建瘦型客户程序 549
第17章 统计分析模块 556
17.1 多层结构下的参数化查询 556
17.2 使用DBChart 560
17.3 自动容错和平衡服务器负载 562
第五部分 自动控制与监测系统解决方案及应用剖析 567
第18章 自动控制与监测系统编程技术 567
18.1.1 进程和线程 568
18.1 Delphi中的多线程处理 568
18.1.2 多线程编程 572
18.1.3 线程的优先级 574
18.1.4 线程类 575
18.2 Windows的事件和消息 580
18.3 创建组件 582
18.3.1 创建组件 582
18.3.2 组件测试 585
18.3.3 注册组件 585
18.4 使用动态链接库 586
18.3.4 提供联机帮助 586
第19章 串口通信程序应用剖析 590
19.1 串行通信基础 590
19.1.1 数据通信基础 590
19.1.2 异步串行通信协议 592
19.1.3 DCE设备——Modem 593
19.1.4 RS-232C标准 595
19.2 串口通信API函数介绍 601
19.3.1 利用嵌入式汇编语言开发通信程序 607
19.3 串口通信程序实现 607
19.3.2 利用多线程编写串口通信程序 621
19.3.3 Async32控件详解 625
19.3.4 Async32控件示例程序 633
第20章 硬件接口程序应用剖析 644
20.1 直接操作端口的Delphi单元 644
20.2 开发Windows驱动程序 646
20.3 用DLL编写硬件接口程序 648
20.4 用TVicHw32控件编程 650
20.4.1 TVicHw32控件说明 650
20.4.2 示例程序 653