Delphi 6企业级解决方案及应用剖析
第一部分 Delphi 6与企业级应用开发 第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 第二部分 Delphi 6企业级应用开发技术 第3章 VCL和编程基本组件 81 3.1 Object类 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 选择型组件 99 3.6.1 TRadioButton 和TRadioGroup 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.3 TTrackBar 115 3.7.4 TUpDown 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.1 TMainMenu 149 4.2.2 TPopupMenu 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 对话框 172 4.3.1 模式对话框与非模式对话框 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 创建Action Band 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章 Windows高级编程技术 271 6.1 DLL编程技术 271 6.1.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 ActiveX编程技术 288 6.3.1 在Delphi中使用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章 数据库应用技术 317 8.1 设计数据库应用程序 317 8.1.1 使用数据库 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 MIDAS和多层应用系统开发 339 8.3.1 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.5 使用TADOTable 358 8.4.6 使用TADOQuery 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 WebSnap工作流程 376 9.4.1 WebContext 376 9.4.2 Dispatcher组件 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章 系统概述 391 10.1 系统解决方案 391 10.1.1 系统背景 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 编写SQL Server 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 第四部分 电子商务货物配送系统 解决方案及应用剖析 第14章 系统概述 485 14.1 系统解决方案 485 14.1.1 电子商务货物配送系统的实现 目标 485 14.1.2 对电子商务货物配送系统功能的 基本要求 486 14.1.3 电子商务货物配送系统的解决 方案 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章 代码维护模块 508 15.1 模块概述 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 第五部分 自动控制与监测系统 解决方案及应用剖析 第18章 自动控制与监测系统编程技术 567 18.1 Delphi中的多线程处理 568 18.1.1 进程和线程 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.3.4 提供联机帮助 586 18.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 串口通信程序实现 607 19.3.1 利用嵌入式汇编语言开发 通信程序 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