---- (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 強。