1、Delphi 游戏编程导学朱 琪 杨正华 编著清 华 大 学 出 版 社 北 京内 容 简 介你想学习 Delphi 编程吗?你想用 Delphi 实现 或定制自己喜爱的游戏程序吗?那么, 请选择本书。 本书从 Delphi 语 言 基 础 知 识 和 编 写 简 单 程 序 入 于 , 将 Delphi 编 程 的 知 识 点 有 机 地 分 散 在 “幸 运52”、 “速算 24”、 “点灯游戏” 、 “华容道” 、 “流 行之王实力大比拼” 、 “俄罗斯方块” 、 “国际象棋” 、 “网 络黑白棋”等多个趣味游戏的设计实例中,其中包含 Delphi 多媒体、图形图像处理、Windows
2、API 调用、 自定义及第三方组件应用、 数据库以及网络编程等相关知识点, 使读者不仅可以从中获得 Delphi 编程的精髓,还能在学习过程中体味游戏的乐趣。本 书 以 实 例 导 学 的 方 式 组 织 内 容 , 易 学 易 会 且 集 趣 味 性 和 可 操 作 性 于 一 体 , 适 用 于 Delphi 初学 者及对游戏开发感兴趣的电脑爱好者。版 权 所 有 , 翻 印 必 究 。 举 报 电 话 : 010 62782989 13901104297 13801310933 本书封面贴有清华大学出版社激光防伪标签,无标签者不得销售。图书在版编目(CIP)数据Delphi 游戏编程导学
3、 /朱琪, 杨正华编著 .一北京:清华 大学出版社,2004ISBN 7 302 09468 3I. D II. 朱 杨 I. 游戏一程序设计IV. TP311.5中国版本图书馆 CIP 数据核字(2004)第 092747 号出 版 者:清华大学出版社 地 址:北京清华大学学研大厦 http:/ 问 编:100084社 总 机:010 62770175 客户服务:010 62776969 组稿编辑:科海文稿编辑:朱起飞 封面设计:林陶 版式设计:科海印 刷 者:北京市耀华印刷有限公司 发 行 者:新华书店总店北京发行所开 本:7871092 1/16 印张:22.5 字数:547 千字 版
4、次:2004 年 9 月 第 1版 2004 年 9 月第 1 次印刷书 号:ISBN 7 302 09468 3/TP6601印 数: 1 5 000定 价:35.00 元(1CD)本 书 如 存 在 文 字 不 清 、 漏 印 以 及 缺 页 、 倒 页 、 脱 页 等 印 装 质 量 问 题 , 请 与 清 华 大 学 出 版 社 出 版 部 联系调换。联系电话:82896445U 言Delphi 是 第 四 代 编 程 语 言 , 是 RAD(Rapid Application Development, 快 速 应 用 程 序 开发)工具的代表。它采用面向对象的 Pascal 语言,利
5、用组件化的编程思想,使得基于 Windows 的 编 程 工 作 变 得 轻 而 易 举 。与 其 他 流 行 的 编 程 语 言 相 比 , C 语 言 功 能 强 大 但 是 难 于 掌 握 , Basic 语 言 简 单 易 学 但 是 功 能 有 限 , 而 Delphi 既 具 有 Visual Basic 的 简 单 易 用 , 又 具 有 Visual C 的 强 大 功 能 , 是广大编程人员的理想选择。本书作为 Delphi 语 言 的 入 门 教 材 , 通 过 若 干 个 趣 味 游 戏 程 序 来 引 导 读 者 学 习 Delphi 语 言 的 编 程 技 巧 。 全
6、 书 共 分 为 10 章 。第 1 章 介 绍 了 Delphi 语 言 的 历 史 、 特 点 、 编 程 环 境 以 及 语 言 规 则 , 使 读 者 对 Delphi 语言有一个基本了解。第 2 章通过 编写游戏程序 “幸运 52”, 介 绍 了 Delphi 中 设 计 一 个 项 目 的 过 程 , 详 细 讲 解了项目设置、界面设计、代码编写、程序运行和程序调试的具体过程。第 3 章通过 编写游戏程序 “速算 24”, 进 一 步 介 绍 了 Delphi 编 程 的 主 要 工 具 组 件, 同时实现了多个单元的协同工作。第 4 章 利 用 Delphi 中 的 图 形 图
7、像 组 件 , 实现了一个小游戏 “点灯” 和一个传统游戏 “华 容道” 。第 5 7 章 介 绍 了 一 个 综 合 游 戏 “流 行 之 王 实 力 大 比 拼 ”的 制 作 , 从 中 讲 解 了 Delphi 编程中最重要的几个部分: 第 5 章 的 媒 体 播 放 器 涉 及 Delphi 中的多媒体编程,同时介绍了菜单组件的应用。 第 6 章 通 过 “流 行 之 王 ”的 数 据 库 维 护 部 分 的 实 现 , 介 绍 了 Delphi 编程中最有特 色的部分 数据库编程,Delphi 对数据库操作的高度封装使得数据库的操作易 如反掌。 第 7 章 具 体 讲 解 “流 行
8、之 王 ”的 完 成 工 作 , 并 介 绍 利 用 Windows 的 注 册 表 记 录 游 戏 信息的内容。第 g g 章 共 同 实 现 了 经 典 游 戏 “俄 罗 斯 方 块 ”, 这一部分涉及到面向对象编程的思想, 描 述 了 “类 ”这 个 面 向 对 象 编 程 的 基 本 概 念 , 同 时 揭 示 了 Delphi 中 组 件 的 深 层 次 内 容 。 第 g 章 末 尾 介 绍 了 第 三 方 组 件 的 运 用 , 令 读 者 体 会 到 用 Delphi 快 速 开 发 精 致 的 Windows 游戏 的方便与快捷。网 络 作 为 信 息 时 代 最 强 有 力
9、 的 武 器 , 必 将 成 为 程 序 员 工 作 的 主 要 方 向 , Delphi 在 这 方 面也做了大量的工作,第 10 章 通 过 介 绍 一 个 “网 络 黑 白 棋 对 战 ”游 戏 , 使 读 者 对 Delphi 的网络编程有一个大概的了解。衷 心 希 望 本 书 能 够 对 Delphi 语 言 的 初 学 者 有 一 定 的 帮 助 , 由 于 时 间 仓 促 , 水 平 有 限 , 错误和疏漏在所难免,欢迎广大读者批评指正。本书配套光盘提供了书中示例所需的所有源代码。读者若有什么疑问或意见建议,请 发电子邮件至:编 者 2004 年 6 月目 录 第 1 章 初 识
10、 Delphi 1 1.1 Delphi 概述 . 1 1.1.1 Delphi 历史回顾. 1 1.1.2 Delphi 的新特性 2 1.2 Delphi 的安装组件 . 4 1.3 Delphi 集成开发环境 . 5 1.4 Delphi 编程语言 . 7 1.4.1 代码书写规则 . 8 1.4.2 数据类型 . 9 1.4.3 语句 14 1.4.4 过程与函数 17 1.4.5 类与对象 19 1.4.6 单元 20 1.4.7 组件 23 1.5 本章知识点回顾 23 第 2 章 “幸 运 52”模 拟 游 戏 Delphi 初 步 应 用 25 2.1 游戏效果说明 25 2.
11、2 布置程序界面 27 2.2.1 认识 Delphi 中的组件 . 27 2.2.2 组件的布局 32 2.2.3 组件属性设置 34 2.3 初始化代码 36 2.3.1 查看代码 36 2.3.2 添加变量 37 2.3.3 事件处理的概念 38 2.3.4 窗体创建事件 39 2.3.5 按钮响应事件 41 2.3.6 字符输入事件 44 2.4 与用户的交互引入消息框 45 2.5 程序的编译、运行和调试 46 2.5.1 编译和运行 46 2.5.2 调试 47 2 目 录2.6 本章知识点回顾 53 第 3 章 “速 算 24”扑 克 游 戏 单 元 、 异 常 、 逻 辑 .
12、55 3.1 “速算 24”扑克游戏效果说明 55 3.2 生成和建立程序 57 3.2.1 Image 组件. 57 3.2.2 Timer 组件. 58 3.2.3 设计初始界面 59 3.2.4 事件处理 61 3.3 单元间的互相引用 66 3.3.1 单元引用的概念 66 3.3.2 uses 语句 66 3.3.3 创建另一个单元 67 3.4 异常处理 68 3.4.1 异常处理的概念 68 3.4.2 资源保护方式 69 3.4.3 异常响应方式 69 3.4.4 提供默认响应 69 3.5 数学逻辑单元 70 3.5.1 算法设计 70 3.5.2 字符串的相关函数 70 3
13、.5.3 算法的代码编写 71 3.5.4 处理用户的错误输入 80 3.6 本章知识点回顾 85 第 4 章 点 灯 游 戏 与 华 容 道 图 形 图 像 编 程 . 87 4.1 点灯游戏的制作 87 4.1.1 游戏内部逻辑 87 4.1.2 游戏界面实现 88 4.1.3 游戏代码的添加 88 4.1.4 游戏的运行 90 4.2 华容道效果说明 91 4.3 华容道游戏创建初始界面 92 4.4 Delphi 绘图相关对象 95 4.4.1 TCanvas画布对象 . 96 4.4.2 TPen画笔对象 98 4.4.3 TBrush画刷对象 98 4.4.4 TColor颜色对象
14、 99 目 录 III4.5 Delphi 图像相关对象 . 100 4.5.1 Windows 位图的基本结构 100 4.5.2 图像对象 . 100 4.6 华容道游戏内部逻辑 . 101 4.6.1 数据初始化 . 101 4.6.2 逻辑模块划分 . 103 4.6.3 游戏功能完善 . 115 4.6.4 游戏封面设计 . 122 4.7 本章知识点回顾 . 131 第 5 章 “流 行 之 王 实 力 大 比 拼 ”游 戏 ( 上 ) 多 媒 体 程 序 设 计 133 5.1 多媒体播放器效果说明 . 133 5.2 媒体播放组件 . 134 5.2.1 Delphi 对媒体播
15、放的封装. 134 5.2.2 窗体初步布置 . 141 5.2.3 实现组件相关操作 . 143 5.3 菜单和对话框 . 145 5.3.1 菜单组件 . 145 5.3.2 对话框组件 . 150 5.3.3 音量控制 . 152 5.4 流行之王的多媒体部分 . 158 5.5 本章知识点回顾 . 159 第 6 章 “流 行 之 王 实 力 大 比 拼 ”游 戏 ( 中 ) 数 据 库 编 程 基 础 161 6.1 流行之王数据库功能 . 161 6.2 数据库系统基础知识 . 162 6.2.1 数据库简介 . 162 6.2.2 数据库系统的历史和发展趋势 . 164 6.2.
16、3 数据库管理系统 . 164 6.2.4 数据库应用程序 . 165 6.3 Delphi 的数据库应用程序开发体系 . 166 6.3.1 概述 . 166 6.3.2 DBD 169 6.3.3 Borland 数据库引擎组件 172 6.3.4 Delphi 数据控制组件. 174 6.3.5 简单的数据库应用程序 . 176 6.4 数据集组件 . 178 6.4.1 数据集组件的几种状态 . 179 6.4.2 数据集组件的打开和关闭 . 180 4 目 录6.4.3 数据集的导航 . 181 6.4.4 数据集中的数据维护 . 182 6.4.5 数据集组件与数据控制组件的连接
17、. 184 6.4.6 数据集组件的事件 . 185 6.5 TTable 组件 . 185 6.5.1 TTable 组件的主要属性. 186 6.5.2 TTable 组件的方法及应用. 187 6.6 TQuery 组件 . 191 6.6.1 SQL 语言简介 191 6.6.2 TQuery 组件的使用. 192 6.7 流行之王数据维护功能实现 . 194 6.8 本章知识点回顾 . 195 第 7 章 “流 行 之 王 实 力 大 比 拼 ”游 戏 ( 下 ) 文 件 注 册 表 操 作 198 7.1 模块划分及主界面编写 . 198 7.2 游戏界面的编写 . 201 7.2
18、.1 游戏流程 . 201 7.2.2 界面控件设置 . 202 7.2.3 游戏代码 . 204 7.3 利用注册表实现排行榜功能 . 216 7.3.1 注册表知识介绍 . 216 7.3.2 显示排行榜功能的实现 . 219 7.3.3 排行榜信息的添加 . 221 7.4 本章知识点回顾 . 224 第 8 章 俄 罗 斯 方 块 ( 上 ) 自 定 义 类 与 组 件 226 8.1 游戏效果说明 . 226 8.2 Delphi 面向对象编程 . 227 8.2.1 类的相关知识回顾 . 227 8.2.2 Delphi 中类的实现. 229 8.3 用户自定义类TBlock .
19、237 8.3.1 程序功能分析 . 237 8.3.2 TBlock 类设计. 238 8.3.3 方块类的具体实现 . 244 8.4 Delphi 自定义组件 . 250 8.4.1 组件基础知识 . 250 8.4.2 新组件的定义 . 251 8.4.3 搭建组件框架 . 254 8.4.4 组件功能设计 . 259 目 录 V8.4.5 组件注册 . 267 8.5 自定义组件圆形按钮 . 269 8.5.1 组件框架搭建 . 269 8.5.2 组件具体实现 . 270 8.6 本章知识点回顾 . 275 第 9 章 俄 罗 斯 方 块 ( 下 ) 及 国 际 象 棋 自 定 义
20、 及 第 三 方 组 件 的 使 用 278 9.1 俄罗斯方块项目整体框架 . 278 9.1.1 功能分析 . 278 9.1.2 模块划分 . 279 9.2 程序编制实现 . 279 9.2.1 分页界面实现 . 279 9.2.2 主界面设计 . 281 9.2.3 排行榜设计 . 281 9.2.4 游戏设置页面 . 282 9.2.5 关于和帮助 . 283 9.2.6 功能实现 . 285 9.2.7 封面 . 290 9.2.8 流畅的动画 . 291 9.2.9 圆形按钮 . 292 9.3 国际象棋游戏效果演示 . 294 9.4 第三方组件的安装 . 295 9.4.1
21、 VCLSkin 的安装 295 9.4.2 TChessBrd 的安装 297 9.5 VCLSkin 组件的使用 299 9.6 ChessBrd 组件的使用与程序的创建 . 300 9.6.1 组件设置 . 300 9.6.2 代码的添加 . 302 9.7 本章知识点回顾 . 306 第 10 章 网 络 黑 白 棋 对 战 网 络 编 程 . 308 10.1 网络基础知识 308 10.1.1 Internet 的基础知识 308 10.1.2 网络编程基础 309 10.2 程序说明 313 10.2.1 网络游戏概述 313 10.2.2 黑白棋规则说明及效果演示 314 6
22、目 录10.3 Delphi 7 中的网络组件 314 10.3.1 Indy 组件 315 10.3.2 IndyUDPClient 和 IndyUDPServer 组件. 316 10.4 程序的建立 318 10.4.1 设计思路 318 10.4.2 界面构建 319 10.4.3 添加代码 321 10.4.4 程序的运行 344 10.4.5 黑白棋游戏技巧 346 10.5 本章知识点回顾 346 第 1 章 初 识 DelphiDelphi 是 Borland 公 司 推 出 的 基 于 Windows 环 境 的 快 速 程 序 开 发 工 具 。 Delphi 的 命 名
23、来 源 于 古 希 腊 城 市 , 这 个 城 市 因 为 拥 有 阿 波 罗 神 殿 而 著 名 。 本 章 将 简 要 介 绍 Delphi 语 言的 发展历史、 语言特点、 编程环境等相关知识。 通过本章的学习, 读者将能初步了解 Delphi。1.1 Delphi 概 述1.1.1 Delphi 历史回顾Delphi 是 第 四 代 编 程 语 言 , 是 RAD( Rapid Application Development, 快 速 应 用 程 序 开发)工具的代表。从核心上说,Delphi 是 一 个 Pascal 编 译 器 。 Delphi 语言的发展历程 如下: Delphi
24、 1 1995 年,Borland 推 出 了 Delphi 1。Delphi 1 提供了一种完全不同的 开发 Windows 程 序 的 方 式 : 可 视 化 的 开 发 环 境 、 编 译 后 的 可 执 行 软 件 、 DDL、 数 据 库 , 以 及 可 以 毫 无 限 制 地 给 可 视 环 境 命 名 。 而 且 Delphi 1 是 第 一 个 综 合 了 可 视 化 开发环境、优化的源代码编译器、可扩展的数据库访问引擎的 Windows 开发工具, 它奠定了 RAD 的概念。 Delphi 2 一年后的 Delphi 2 在 32 位的操作系统 Windows 95 和 Wi
25、ndows NT 下 实现了原有的一切功能。另外,Delphi 2 还 增 加 了 许 多 Delphi 1 没 有 的 功 能 , 例 如 32 位 的 编 译 器 能 生 成 速 度 更 快 的 应 用 程 序 , 对 象 库 得 到 进 一 步 的 丰 富 和 扩 展 , 完善了数据库支持, 改进了字符串处理 , 支持 OLE 对象链接与嵌入和可视化窗体继 承以及与 16 位的 Delphi 兼容等。Delphi 2 成 为 衡 量 其 他 RAD 工具的标准。为了 满 足 IT 产 业 的 需 要 , Delphi 2 增 强 了 数 据 库 和 客 户 端 服 务 器 的 功 能 。
26、 Delphi 3 1997 年 , Borland 公 司 推 出 了 Delphi 3。 Delphi 3 使 本 来 极 其 复 杂 的 COM、A ctiveX、W WW 应 用程 序 开 发 、 “瘦 ”客 户应用 程 序 、多层 数 据 库系统 体 系 结 构 等 技 术 变 得 非 常 容 易 。 虽 然 Delphi 3 与 Delphi 1 编 写 应 用 程 序 的 基 本 方 法 大 都 相 同 , 但 Delphi 3 的 Code Insight( 代 码 内 视 ) 技 术 却 简 化 了 代 码 编 写 过 程 。 Delphi 4 1998 年 推 出 的 De
27、lphi 4 致 力于使 Delphi 更易于使用 。 Module Explore(模块导航) 技术的引入使程序员能够以一致的图形界面浏览和编辑代码。 代码导 航和类自动生成的功能使程序员只需关注应用程序本身, 而 不必在输入代码上花费 太 多 精 力 。 IDE 经 过 重 新 设 计 可 支 持 浮 动 或 可 停 靠 的 工 具 栏 和 窗 口 , 调 试 器 也 做 了 改进。Delphi 4 不 愧 为 一 个 先 进 的 开 发 工 具 , 它 的 MIDAS、 DCOM 和 CORBA 等技术 使 Delphi 4 的 应 用 范 围 扩 展 到 企 业 级 用 户 。2 De
28、lphi 游戏编程导学 Delphi 5 1999 年 , Delphi 5 推 出 。 Delphi 5 通过增加更多的功能使程序的编写 更 简 单 。 新 功 能 包 括 进 一 步 增 强 了 IDE 和 调 试 器 的 功 能 、 提 供 了 Team Source 小组 开发软件和转换工具等。Delphi 5 也为简化 Internet 的 开 发 增 加 了 许 多 新 功 能 , 包括 Active Server Object Wizard 用 于 创 建 ASP, Internet Express 组 件 用 于 支 持 XML 和 MIDAS 功 能 , 使 Delphi 成
29、 为 Internet 的 一 个 通 用 数 据 平 台 。 Delphi 6 Delphi 6 不但在传统的开发能力方面持续改进,让程序员能够享有更 具生产力的开发环境 , 而且对于最新的信息技术 , 例如 XML XSL、 SOAP、 Web Service 等 也 都 有 非 常 良 好 的 支 持 , 让 程 序 员 能 够 快 速 地 使 用 这 些 新 技 术 。 此 外 , Delphi 6 在核心运行时函数库以及编译器方面也有了不少改善, 不但让程序员可以开发功能 更强的窗口应用程序, 也可以更平顺地移植到 Linux 平台, 再 搭配跨平台的新可视 化组件 Framewor
30、k CLX, 即 使 是 Windows 程 序 员 也 可 以 快 速 地 开 发 Linux 平台上的 应用系统。然而,实际上 Delphi 7 之所以这么快推出,很大原因上是由于 Delphi 6 的很多新 特 性 还 不 是 很 成 熟 , 在 Delphi 7 中 这 些 新 特 性 得 到 了 很 大 的 改 善 和 提 高 。 下 面 , 我 们 将 会 详 细 介 绍 Delphi 6 和 Delphi 7 共 有 的 一 些 新 特 性 。1.1.2 Delphi 的新特性1. 功 能 更 强 大 的 集 成 开 发 环 境和以往 Delphi 的 每 一 个 新 版 本 一
31、 样 , Delphi 7 继续改善了开发环境,帮助程序员提 高效率。Delphi 7 在 集 成 开 发 环 境 中 加 入 了 很 多 让 程 序 员 爱 不 释 手 的 新 功 能 , 下 面 是 对 它 们的一个简单介绍。(1)Code C omplete( 代 码 完 成 )Code Complete 功 能 在 Delphi 5 中 就 己 经 加 入 了 , 这 项 功 能 非 常 受 程 序 员 的 欢 迎 , 因 为 Code Complete 可 以 大 幅 度 地 减 少 程 序 员 需 要 键 入 的 程 序 代 码 , 并 且 减 少 键 入 错 误 。 Delphi
32、 7 的 Code Complete 功 能 在 原 有 的 基 础 上 继 续 改 善 , 新 的 Code Complete 窗 口 不 但 可以由程序员自行调整大小,而且可以使用不同的颜色代表不同的对象,例如变量、方法 和 特 性 等 。 Delphi 7 的 Code Complete 窗 口 加 入 了 色 彩 分 析 , 以 及 对 对 象 分 门 别 类 的 能 力 。 此外, 新的 Code Complete 窗口也会更 聪明地过滤对象能够使用的 PME, 避 免 了 以 往 Delphi 5 的 Code Complete 窗 口 无 法 显 示 一 些 PME 的 困 窘
33、。 另 外 , 程 序 员 在 新 的 Code Complete 窗口中选择使用某个方法之后, Code Complete 会自动地在方法名称之后加 上 “() : ”字符, 把 光 标 停 在 圆 括 号 之 中 , 并 且 自 动 显 示 这 个 方 法 需 要 的 所 有 参 数 , Delphi 的 确 比 以 前 更 聪 明更方便了。( 2) Object TreeView( 对 象 树 视 图 )另外一个新功能就是 Delphi 7 的 Object TreeView 窗口。这个新的窗口除了可以显示 窗 体 中 所 有 的 对 象 之 外 , 也 可 以 以 分 层 方 式 表
34、达 组 件 之 间 的 关 系 。 当 程 序 员 在 Object TreeView 窗 口 中 单 击 了 一 个 组 件 之 后 , 这 个 组 件 会 立 刻 出 现 在 对 象 查 看 器 之 中 , 这 时 程 序 员可以改变这个对象的特性值和事件处理程序。当 窗 体 复 杂 , 拥 有 大 量 的 组 件 时 , Object TreeView 窗口可以让用户迅速找到这个组第 1 章 初识 Delphi 3件,并且知道与当前组件相关的组件,非常方便。此 外 Delphi 7 的 编 辑 器 也 强 化 了 Class Complete 的功能,让程序员在定义类别程序 代 码 时
35、拥 有 更 大 的 弹 性 , 并 且 加 强 了 Interface Complete 的 功 能 , 让 程 序 员 在 撰 写 接 口 程 序代码时也能够享有 Code Complete 功能。( 3) 可 定 制 的 View 窗 口Delphi 7 最 强 劲 的 集 成 开 发 环 境 功 能 应 该 要 算 是 新 的 可 定 制 的 View 窗 口 了 。 在 Delphi 7 中 , 编 辑 器 不 但 可 以 让 程 序 员 观 看 和 编 辑 Object Pascal 的 程 序 代 码 , 而 且 如 果 程 序 员 编 辑 的 是 Web 应 用 程 序 , 那
36、么 还 可 以 直 接 在 编 辑 器 中 查 看 HTML 程 序 代 码 、 脚 本 语 言 程 序 代 码 , 预 览 Web 应 用 程 序 执 行 结 果 的 画 面 以 及 Web 应 用 程 序 产 生 的 HTML 程 序 代 码 。( 4) 新 添 加 Indy Intercepts 和 Indy I O Handler 构 件 组企业版的 Delphi 7 中 , 这 两 个 构 件 组 基 本 上 提 供 了 针 对 现 今 流 行 的 Internet 协议编 程的构件。可以进行更为底层的操作。(5)新添加 IW Standard、IW Data、 IW Client
37、Side 和 IW Control 构 件 组 这些构件也是 Delphi 7 的显著改革之一,将 Intraweb 集 成 到 了 标 准 的 构 件 板 中 , 我们就可以很方便地开发基于 Web 的 应 用 程 序 。( 6) 新 添 加 的 Rave 报 表 构 件 组Delphi 7 的 标 准 构 件 板 中 己 经 没 有 了 原 来 的 QuickReport 构 件 组 , 取 而 代 之 的 是 RAVE 报 表 制 作 组 件 , 并 且 提 供 专 门 的 报 表 制 作 工 具 Rave Designer。Rave 报表构 件是一个可视化的报表设计工具, 大大简化了在
38、应用程序中加入报表的工 作。 用 Rave 报表构件可以做出各种不同的报表, 从最简单的到非常复杂 、 个性化的报表都 可以完成。它的功能包括:图片支持、对齐、精确页面定位、打印机设置、字体控制、打 印预览、报表内容重用,并支持 PDF、 HTML、 RTF 等文本格式。2. 新 一 代 数 据 存 取 引 擎 DBExpressBorland 为 了 让 Windows 平台上的 Delphi 以及 Linux 平台上的 Kylix 拥 有 共 同 的 数 据 存取引擎, 决定开发新一代的数据存取引擎, 这就是 DBExpress。 DBExpress 是一组 存取各 种不同关联数据库的原生
39、驱动程序,以及一组基于这些驱动程序而开发的统一的组件。由 于原生驱动程序和组件的开发都考虑了跨平台, 因 此 Delphi 和 Kylix 都 可 以 使 用 这 组 驱 动 程序和组件。程序员通过统一的组件来存取不同的数据库,以方便开发数据库应用系统。3. 开 发 Internet Intranet 应 用 系 统 的 WebSnap 组 件 组Delphi 7 中 最 重 要 的 新 增 功 能 之 一 应 该 要 算 是 能 够 让 程 序 员 开 发 InternetIntranet 应用系统的新架构和组件,这个新功能称为 WebSnap。 Delphi 7 的 WebSnap 允 许
40、 程 序 员 使 用组件和可视化的方式快速开发复杂的 Internet Intranet 应 用 系 统 。 WebSnap 的 特 点 是 允许程序员直接在这些组件之中加入脚本语言, 并 且 能 够 直 接 在 Delphi 的 集 成 开 发 环 境 中 撰 写 脚 本 语 言 、 预 览 Web 应 用 程 序 的 输 出 结 果 以 及 Web 应 用 程 序 产 生 的 HTML 程 序 代 码 。4 Delphi 游戏编程导学4. MIDAS 的 进 化 版 本 DataSnap在 Delphi 7 中 , MIDAS 被 改 名 为 DataSnap。 DataSnap 不 但
41、强 化 了 MIDAS 原 有 的 功 能 , 更 加 入 了 许 多 新 的 组 件 , 让 程 序 员 可 以 使 用 它 开 发 出 更 为 强 劲 的 应 用 系 统 。 此 外 DataSnap 也改善了 MIDAS 的 执 行 效 率 , 让 使 用 它 的 应 用 程 序 能 够 执 行 得 更 快 。5. 对 XML XSL 的 支 持Delphi 6 的 另 外 一 个 重 要 的 改 良 就 是 对 于 XMLXSL 的 支 持 。 除 了 增 加 许 多 新 的 VCL 组件,让程序员不必使用低阶的 COM 接口或是复杂的 API 就 可 以 轻 易 的 处 理 XMLX
42、SL 文件和 资料之外,MIDAS 的 资 料 更 可 以 直 接 输 出 成 XML,或是把 XML 的 资 料 直 接 导 入 成 MIDAS 的 Data Packet, Delphi 的 程 序 员 再 也 不 需 要 为 复 杂 的 XML 程 序 设 计 伤 脑 筋 了 。6. 开 发 Web Service 的 向 导 和 组 件Web Service 该是现在最热门的 Web 技术之一了,不管是 IBM 或是 Microsoft 都在发 展 Web Service 的 解 决 方 案 。 Delphi 6 在 这 方 面 也 不 落 后 , Delphi 6 提 供 了 SOA
43、P 和 Web Service 向 导 , 让 程 序 员 能 够 快 速 地 开 发 SOAP 应 用 系 统 , 也 可 以 汇 入 WSDL 自 动 产 生 骨 架 程 序 代 码 。 由 于 SOAP 是 未 来 Web 和 分 布 式 应 用 系 统 的 主 流 技 术 , 而 Web Service 更 是 未 来 Web 应 用 系 统 的 主 要 软 件 架 构 , 因 此 对 于 程 序 员 来 说 , 掌 握 这 些 技 术 非 常 重 要 。Delphi 6 是 Borland 支 持 SOAP 的 第 一 个 产 品 , 由 于 SOAP 是 标 准 的 协 议 , 因
44、 此 通 过 Delphi 6 开 发 的 SOAP 应 用 系 统 可 以 和 COM 、 EJB 或是 Microsoft 的 .NET 沟 通 , Delphi 的 程序员现在就可以使用它开发未来的应用系统。 在 Delphi 6 中 也 提 供 了 6 个 VCL 组 件 让 程 序 员 开 发 SOAP 和 Web Service 的 应 用 系 统 。 Delphi 6 允 许 程 序 员 快 速 建 立 SOAP 应用程序 和 Web Service。总的来说,Delphi 6 最 主 要 的 新 功 能 是 在 XML XSL, Internet Intranet 以 及 SO
45、AP 和Web Service 方面的加强。同时为了跨平台的目的,在数据存取引擎、可视化组件架构和 运 行 时 期 函 数 库 方 面 也 进 行 了 大 幅 度 的 改 善 。 至 于 在 BDE, ADO 和 COM 方 面 则 只 有 小 幅 度 的进步。当 Microsoft 不再推出 VBVC 新 一 代 版 本 的 Windows 开 发 工 具 , 而 Power Builder 等 其他 Windows 开 发 工 具 也 逐 渐 被 淘 汰 之 际 , Delphi 6 可 以 说 是 惟 一 最 新 的 Windows 开 发 工 具,也是最好的 Windows 开发工具。
46、如果你仍然需要在 Windows 下 开 发 应 用 系 统 , 或 是 需 要 使 用 整 合 最 新 的 信 息 技 术 , 那 么 Delphi 6 仍 然 是 非 常 值 得 购 买 和 升 级 的 开 发 工 具 。1.2 Delphi 的 安 装 组 件我们以 Delphi 7 为 例 。 其 实 Delphi 7 的安装非常方便,初学者完全可以一看即会。 我们在这里只想针对初学者说一下 Delphi 7 的 各 项 安 装 组 件 包 的 作 用 。 把 Delphi 7 的光 盘放入光驱后会自动运行, 看到如图 1.1 所示 的界面。 可供安装的有 Delphi 7、 Inte
47、rBase6.5 Server、 InterBase 6.5 Desktop Edition、 Remote Debugger Server、 ModelMaker 6.20、 InstallShield Express 共 6 个 组 件 。 初 学 者 往 往 不 知 道 该 安 装 哪 些 , 哪 些 不 用 安 装 。 下第 1 章 初识 Delphi 5面逐一介绍各个组件的功能。 Delphi 7 这 个 当 然 不 言 而 喻 了 , 是 Delphi 7 的 集 成 开 发 环 境 。图 1.1 Delphi 安装界面 InterBase 6.5 Server 这是 B orla
48、nd 公司随 D elphi 一起发布的数据库服务器 Local Server, 也是一种大型 SQL 数据 库, 具有 SQL 数据库 ( 如 SQL Server、 Oracle、 DB2 等) 的大 部分功能。 所 以安装完毕后会产生一个 InterBase 数据库类型 的 Local Server, 有 了它 , 可以编写 Client Server 数 据 库程序 , 而 无需一个真正的后台数 据 库 服 务 器 : 虽 然 Local Server 在 本 地 计 算 机 上 运 行 , 但 它 的 确 扮 演 了 一 个 数 据 库 服 务 器 的 角 色 , 应 用 程 序 在
49、 Local Server 上 运 行 和 在 服 务 器 上 运 行 没 有 什 么 不 一样 , 这对于开发 Client Server 数 据 库程序来说是很重要的 , 可以避免在运行着 数据库的服务器上开发程序带来的危险性。同时,Local Server 上的数据库管理 更加简沽,可以加快应用程序的开发。 InterBase 6.5 Desktop Edition 提 供 了 InterBase 6.5 的 一 些 管 理 工 具 , 使 程 序员可以轻松地构建和管理 InterBase 6 服 务 器 。 Remote Debugger Server 远 程 调 试 服 务 器 。 ModelMaker 6.20 这 个 工 具 是 Delphi 7 新 加 的 , 这 是 一 个 功 能 强 大 的 软 件 , 它 提 供了一种崭新的类和构件包的开发模式 , 在编写构件时己经无须像以前一样敲入代 码, 只要利用这个工具将要设计的构件以框图的形式进行概念搭建, 就可以自动生 成所需的代码。 InstallShiel