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