前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于PowerBuilder的搜索

delphi与PowerBuilder的比较 - 炎枫的日志 - 网易博客 网易 新闻 微博 邮箱 相册 阅读 有道 摄影 爱拍 优惠券 云笔记 闪电邮 手机邮 印像派 网易识字 更多 博客 手机博客 博客搬家 博客VIP服务 LiveWriter写博 word写博 邮件写博 短信写博 群博客 博客油菜地 博客话题 博客热点 博客圈子 找朋友 发现 小组 风格 网易真人搭配社区iStyle 把最美的记录工具,装进你的口袋 >> 把最美的记录工具,装进你的口袋 >> 把最美的记录工具,装进你的口袋 >> 创建博客 登录 加关注 显示下一条 | 关闭 温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》 | 关闭 学点东西 导航 首页 日志 相册 音乐 收藏 博友 关于我 日志 delphi与PowerBuilder的比较 2008-01-02 00:49:55| 分类: 应用软件 | 标签: |举报 |字号大中小 订阅 单就数据库而言,pb能做的delphi都能做,但相比之下,pb集成了很多数据库方面相关的“工具”,能够方便开发;但是pb扩展性不如delphi,比如如果你的程序需要加载某些系统功能级别的特性如dde之类,pb就无能为力了。pb的数据库功能和数据窗特点delphi远远赶不上,但是pb的功能太狭隘,虽说都能通过不同的途径实现想要的功能,但是远远比不上delphi的爽,所以说是各有特点!比如用pb实现好看的界面,邮件,多媒体等功能,很难受的,经常用编写各种对象......反正很难受,这方面delphi强多了,但是单纯数据库,delphi绝对不如pb! 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 强。 实际上,用Delphi熟的人很少用标准的Delphi控件,建议把Delphi挂上CodeRush,TurboPower,FastReport以后再比较,另外Delphi不是一个纯粹的数据库解决系统,因此,有些地方确实不如PB方便,如果是编写纯粹的数据库应用,可能确实还是PB好。 评论这张 转发至微博 转发至微博 阅读(1404)| 评论(0) | 分享到: 喜欢 推荐 0人 | 转载 历史上的今天 最近读者 热度 评论 this.p={ m:2, b:2, id:'fks_087068092080087064083083095095086094084074081094087068', blogTitle:'delphi与PowerBuilder的比较', blogAbstract:' 单就数据库而言,pb能做的delphi都能做,但相比之下,pb集成了很多数据库方面相关的“工具”,能够方便开发;但是pb扩展性不如delphi,比如如果你的程序需要加载某些系统功能级别的特性如dde之类,pb就无能为力了。pb的数据库功能和数据窗特点delphi远远赶不上,但是pb的功能太狭隘,虽说都能通过不同的途径实现想要的功能,但是远远比不上delphi的爽,所以说是各有特点!比如用pb实现好看的界面,邮件,多媒体等功能,很难受的,经常用编写各种对象......反正很难受,这方面delphi强多了,但是单纯数据库,delphi绝对不如pb!\r\n1 . 面 向 对 象 的 编 程 语 言 ', blogTag:'', blogUrl:'blog/static/2859581720080204955715', isPublished:1, istop:false, type:0, modifyTime:1199206459814, publishTime:1199206195715, permalink:'blog/static/2859581720080204955715', commentCount:0, mainCommentCount:0, recommendCount:0, bsrk:-100, publisherId:0, recomBlogHome:false, currentRecomBlog:false, attachmentsFileIds:[], vote:{}, groupInfo:{}, friendstatus:'none', followstatus:'unFollow', pubSucc:'', visitorProvince:'', visitorCity:'', visitorNewUser:false, postAddInfo:{}, mset:'000', mcon:'', srk:-100, remindgoodnightblog:false, isBlackVisitor:false, isShowYodaoAd:false, hostIntro:'Improving day by day', hmcon:'1', selfRecomBlogCount:'0', lofter_single:'' } {list a as x} {if !!x} {if x.visitorName==visitor.userName} {else} {/if} {if x.moveFrom=='wap'} {elseif x.moveFrom=='iphone'} {elseif x.moveFrom=='android'} {elseif x.moveFrom=='mobile'} {/if} ${fn(x.visitorNickname,8)|escape} {/if} {/list} {if !!a} ${fn(a.nickname,8)|escape} ${a.selfIntro|escape}{if great260}${suplement}{/if} {/if} {list a as x} {if !!x} ${fn(x.title,26)|escape} {/if} {/list} 推荐过这篇日志的人: {list a as x} {if !!x} ${fn(x.recommenderNickname,6)|escape} {/if} {/list} {if !!b&&b.length>0} 他们还推荐了: {list b as y} {if !!y} ·${y.recommendBlogTitle|escape} {/if} {/list} {/if} 转载记录: {list d as x} · ${x.referBlogTitle|escape} ${x.referUserName|escape} {/list} {list a as x} {if !!x} ${x.title|default:""|escape} {/if} {/list} {list a as x} {if !!x} ${x.title|default:""|escape} {/if} {/list} {list a as x} {if !!x} ${x.blogTile|default:""|escape} {/if} {/list} {list a as x} {if x_index>4}{break}{/if} {if !!x} ${fn1(x.title,60)|escape}${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')} {/if} {/list} {list a as x} {if !!x} ${fn(x.title,26)|escape} {/if} {/list} {if !!(blogDetail.preBlogPermalink)} ${blogDetail.preBlogTitle|escape} {/if} {if !!(blogDetail.nextBlogPermalink)} ${blogDetail.nextBlogTitle|escape} {/if} {list a as x} {if !!x} {if x.publisherUsername==visitor.userName} {else} {/if} ${fn(x.publisherNickname,8)|escape} {/if} {/list} 被推荐日志 最新日志 该作者的其他文章 博主推荐 随机阅读 首页推荐 更多>> {list a as x} {if !!x} ${x.nickName|escape} 投票给 {var first_option = true;} {list x.voteDetailList as voteToOption} {if voteToOption==1} {if first_option==false},{/if} “${b[voteToOption_index]}” {/if} {/list} {if (x.role!="-1") },“我是${c[x.role]}” {/if} ${fn1(x.voteTime)} {if x.userName==''}{/if} {/if} {/list} 页脚 公司简介 - 联系方法 - 招聘信息 - 客户服务 - 隐私政策 - 博客风格 - 手机博客 - VIP博客 - 订阅此博客 网易公司版权所有 ©1997-2014 帮助 ${u} {list wl as x} ${x.g} {list x.l as y} ${y.n} {/list} {/list} {if defined('wl')} {list wl as x}${x.n}{/list} {/if}