说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

开 发AS/400 应 用 系 统: PB5 与Delphi3 的 比 较

HTML文档下载 WORD文档下载 PDF文档下载
开 发AS/400 应 用 系 统: PB5 与Delphi3 的 比 较

PowerBuilder 和Delphi 分 别 是SYBASE 公 司 和Borland 公 司 的 两 个 拳 头 产 品, 都 是 目 前 开 发Client/Server 应 用 两 个 最 优 秀 的 前 端 工 具, 各 有 各 的 优 势。 根 据 本 人 对 两 种 软 件 的 使 用 经 验, 现 就 具 体 在AS/400 上 作 应 用 系 统 开 发, 将 两 者 作 些 比 较。 水 平 有 限, 认 识 浅 显, 望 同 行 指 正。

一、 对AS/400 数 据 库 的 访 问

PowerBuilder 和Delphi 都 可 通 过ODBC 来 访 问DB2/400, 但 由 于 其 速 度 慢, 不 予 考 虑。

AS/400 在 全 球 的 总 装 机 量 超 过50 万 台, 而 由 于 其 开 发 工 具(RPG、COBOL 等) 又 相 对 落 后,SYBASE 公 司 和Borland 公 司 为 寻 求 扩 大 其 前 端 工 具 的 应 用 市 场, 针 对AS/400, 都 提 供 了 中 间 产 品。SYBASE 公 司 的 中 间 件 产 品 为DirectCONNECT for AS/400,Borland 公 司 的 中 间 产 品 为IDCO400。

DirectCONNECT IDCO400

结 构: 在 中 间 层 增 加 网 关 设 备(NT), 结 构 复 杂, 但 可 为 数 据 仓 库 服 务 器Sybase IQ提 供 数 据 来 源。

访 问 速 度: 不 详

支 持 双 字 节: 是

可 在 终 端 上 直 接 访 问AS/400, 结 构 简 单,操 作 简 单。

速 度 较 快

二、 应 用 开 发 编 程 比 较

应 用 开 发 编 程 从 以 下 几 个 方 面 来 比 较:

1 . 面 向 对 象 的 编 程 语 言

(a)PowerBuilder 和Delphi 都 采 用 了 面 向 对 象 编 程 方 法, 都 提 供 了 面 向 对 象 的 应 用 程 序 架 构,PowerBulder 应 用 程 序 架 构 叫 应 用 对 象(Application Object), 扩 展 名 为.pbl,Delphi 应 用 程 序 架 构 是 工 程(Project), 扩 展 名 为.dpr。Delphi 提 供 的 应 用 程 序 架 构 功 能 更 强。PowerBuilder 可 以 通 过 为 主PBL 文 件 指 定 其 它PBL 文 件 的 路 径, 将 多 个PBL 文 件 编 译 为 一 个EXE 文 件, 这 个 功 能 的 好 处 是 可 以 将 一 个 大 的 应 用 分 割 为 小 的 模 块, 即 多 个PBL 文 件, 再 合 并 编 译, 而 且 提 高 软 件 的 运 行 效 率。 而Delphi 的 一 个Project 只 能 编 译 为 一 个EXE 文 件, 这 对 于 多 人 合 作 开 发 项 目 比 较 麻 烦, 需 要 将 多 个Project 合 并 为 一 个Project, 容 易 发 生 冲 突, 除 非 每 个Project 编 译 为 一 个EXE 文 件。

(b)Delphi 提 供 的Object Pascal 语 言 是 标 准 的 面 向 对 象, 而PowerBuilder 所 使 用 的 开 发 语 言Script 封 装 在PowerBuider 提 供 的 面 向 对 象 控 件 中,Script 本 身 并 不 是 面 向 对 象 语 言。

(c) 在PowerBuilder 的Script 中 可 随 意 嵌 入SQL 语 句, 使 用 灵 活。 使 用Delphi 编 程,SQL 语 言 需 要 与Tquery 元 件 一 起 使 用。

(d)PowerBuilder 能 自 定 义 函 数,Delphi 能 自 定 义 函 数 和 过 程,PowerBuilder 不 区 分 函 数 和 过 程。

(e)PowerBuilder 和Delphi 都 能 调 用 动 态 连 接 库, 但Delphi 还 提 供 了 包(Package) 的 功 能, 这 比PowerBuilder 要 高 明。

2 . 可 视 化 组 件 库

(a)PowerBuilder 和Delphi 都 提 供 了 功 能 完 整 的、 与Windows95 完 全 兼 容 的 可 视 化 组 件, 这 些 组 件 的 使 用 和 继 承 大 大 减 少 了 代 码 的 编 写 与 维 护 成 本。 相 比 之 下,Delphi 比PowerBuider 提 供 的 可 视 化 组 件 要 多 不 少, 有130 多 个 元 件。

(b)PowerBuilder 提 供 用 户 自 定 义 对 象 的 功 能,Delphi 提 供 用 户 定 义 元 件 的 功 能。PowerBuilder 为 每 个 控 件、Delphi 为 每 个 元 件 都 定 义 了 属 性 和 可 能 有 的 事 件。 在 这 方 面 两 者 类 似。 但PowerBuilder 能 让 用 户 为 现 有 的 控 件 增 加 用 户 自 定 义 事 件, 来 满 足 用 户 的 一 些 特 殊 要 求, 而 并 不 需 要 定 义 新 的 用 户 对 象, 节 省 工 作 量。Delphi 不 能 为 现 有 的 元 件 再 增 加 事 件, 只 能 通 过 继 承 现 有 元 件 来 定 义 新 的 元 件, 这 样 工 作 量 大。

3 . 对 数 据 库 的 处 理

(a)Delphi 为 访 问 数 据 库 提 供 了 两 组 元 件Data Access 和Data Controls, 对 于 标 准 需 求 的 应 用 处 理 非 常 高 效、 快 速, 程 序 编 码 少。Delphi 还 具 有 一 个 突 出 优 点, 就 是 在 元 件 参 数 设 置 正 确 后, 即 能 看 见 所 需 访 问 的 数 据 库 中 的 数 据。 而PowerBuilder 则 需 要 编 译 运 行 才 能 得 到 数 据。

(b)PowerBuilder 在 处 理 数 据 库 应 用 方 面 的 突 出 贡 献 就 是 数 据 窗 口(DataWindow), 数 据 窗 口 的 功 能 强 大, 特 别 是 同 时 处 理 多 个Table 时, 显 得 得 心 应 手。PowerBuilder 的Grid 类 型 数 据 窗 口 的 字 段 对 象 不 仅 可 以 嵌 入CheckBox、RadioButtons、EditMask、DropDownListBox, 而 且 可 以 嵌 入DropDownDW,DropDownDW 可 以 是 其 它Table 的DataWindow, 这 一 功 能 非 常 有 用。 而Delphi 的DBGrid 不 具 有 这 种 功 能, 不 能 嵌 入DBEdit、DBListBox、DBComboBox 等。Delphi 在 处 理 多 个Table 时, 除 用 主、 从 表 的 处 理 方 法 外, 其 它 手 段 少, 灵 活 性 较 差。

(c) 在 处 理 报 表 功 能 方 面,PowerBuilder 似 乎 比Delphi 要 强,PowerBuilder 可 以 一 个DataWindow 嵌 入 其 它 的DataWindow。 这 与PowerBuilder 处 理 多 报 表 功 能 强 有 关。 而Delphi 在 处 理 报 表 时, 还 是 用 主、 从 表 的 处 理 方 法。

4 . 打 印 功 能

PowerBuilder 的 控 件 打 印 功 能 强 大,MultiLineEdit、RichTextEdit、DataWindow 都 具 有 打 印 功 能, 即 所 见 到 的 就 能 打 印。 而Delphi 除 了QuickReport 具 有 打 印 功 能 外, 其 它 元 件 本 身 就 没 有 打 印 功 能, 需 要 用TPrinter 编 程 实 现, 比 较 麻 烦。

5 . 数 据 统 计 分 析

在 数 据 统 计 分 析 方 面,PowerBuilder 只 提 供 了Graph 类 型 的DataWindow, 可 作 些 简 单 的 统 计 分 析。Delphi 除 了 有 与PowerBuilder 的Graph 类 型 的DataWindow 相 类 似、 但 功 能 要 强 的TeeCharts 元 件 和QuickReport 元 件 外, 还 提 供 了Decision Cube 元 件 组, 在 交 叉 分 析 表 提 供 多 维 数 据 分 析 的 能 力 要 明 显 比PowerBuilder 强。

三、 与AS/400 系 统 的 兼 容 性 比 较

Delphi3/400 提 供 了 与AS/400 相 兼 容 的 三 组 元 件 — —SCD400 Data、SCD400 System 和SCD400 DB。 其 中SCD400 Data 和SCD400 DB 两 组 元 件 与 普 通Delphi 3.0 所 属 两 组 元 件Data Access 和Data Controls 中 元 件 具 有 相 同 或 类 似 的 功 能。 这 些 元 件 对 于 较 复 杂 的 数 据 处 理, 使 用 起 来 并 不 好 用, 灵 活 性 较 差。 在SCD400 System 元 件 组 中, 提 供 了5 个 元 件, 有 可 以 直 接 调 用AS/400 PGM 程 序 的Call400 元 件、 可 以 直 接 调 用A/400 CL 命 令 的Cmd400 元 件、 可 以 访 问AS/400 DataArea 的DataArea 元 件、 与AS/400 数 据 队 列 有 关 的DataQueue 和DeatQueueMessage 元 件。 这5 个 元 件 对 于 利 用 现 有AS/400 的Program 程 序 和AS/400 的 特 点 很 有 用。

至 于PowerBuilder 与AS/400 的 兼 容 性, 没 有 这 方 面 的 资 料。

四、 产 品 分 发 工 具 PowerBuilder 5.0 提 供 的 产 品 分 发 工 具 是InstallBuilder。Delphi3.0 提 供 的 产 品 分 发 工 具 是InstallShield。InstallBuilder 制 作 过 程 相 对 复 杂。 而InstallShield 制 作 过 程 相 对 简 单, 成 功 率 高。

五、 学 习 与 帮 助

PowerBuilder 是 一 种 开 发 数 据 库 应 用 的 优 秀 工 具; 而Delphi 则 是 一 种 语 言, 是 具 有 很 强 的 数 据 库 应 用 开 发 功 能 的 语 言。PowerBuilder 所 使 用 的 开 发 语 言Script, 好 学 易 懂, 经 过 较 短 的 时 间 学 习 便 可 进 行 程 序 开 发。 但Delphi 的Object Pascal 内 容 多, 比 较 难 学, 需 要 面 向 对 象( 类) 的 概 念, 熟 悉 编 程 语 言 的 时 间 较 长。

Delphi 提 供 了 易 学 易 用、 具 有 很 高 生 产 效 能 的 RAD C/S 开 发 工 具 ─ ─Code Insight。 此 工 具 即 能 让 程 序 员 在 写 代 码 时, 只 要 写 出 对 象 实 例,Code Insight 即 能 显 示 此 对 象 的 所 有 过 程、 函 数、 方 法 和 事 件, 及 其 参 数, 供 程 序 员 参 考 和 选 择。PowerBuilder 无 此 功 能。 PowerBuilder 提 供 的 帮 助, 分 类 条 理 清 晰, 查 找 方 便, 且 每 个 函 数 都 有 详 细 的 例 题。 而Delphi 的 函 数 使 用 例 题 相 对 少 些。

毕 竟PorwerBuilder 是 一 种 开 发 数 据 库 应 用 的 优 秀 工 具; 而Delphi 则 是 一 种 语 言, 一 种 具 有 很 强 的 数 据 库 应 用 开 发 功 能 的 语 言,Delphi 能 做 许 多PowerBuilder 不 能 做 的 事 情。

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘