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

开 发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 不 能 做 的 事 情。

给TreeView控件添加弹式菜单 -VB资料 计算从开机到现在用了多少秒-VB资料 将立体的ListView标题栏转换成平面式的标题栏 -VB资料 禁用窗体上所有控件 -VB资料 拷贝或移动列表框或组合框中的内容-VB资料 利用VB5开发ActiveX控件 利用VB三维面板控件设计流动条 浅谈用VB6.0编写BO程序 巧用Visual Basic的TIMER控件 VB取得控件绝对Top值 VB如何解决VB中的Grid 控件的打印问题 VB如果自定义 MsgBox 的按钮,标题等 VB如何创建数据绑定控件。 VB如何解决VB中的Grid控件的打印问题 VB如何强制文件对话框再次读取正确的磁盘? VB如何取得RichTextBox控件中光标所在行的值? VB如何设定 MsgBox 在若干时间之后若无回应則自动关闭? VB如何使用VB控件Commom Dialog VB如何用VB6写COM组件(二) VB如何用VB6写COM组件(一) VB如何在VB中使用Delphi的控件 VB如何在运行时动态增加控件 显示和隐藏鼠标-VB资料 VB用ActiveX Control Pad VB用API函数改进ListView 控件的显示效果 用VB6.0中文版进行DHTML程序开发 用VB编写标准CGI程序 用VB编写留言板 用VB播放FLASH动画 用VB开发进程管理软件 VB用WinSock设计Chat程序 我太高兴了,太喜欢这里了 谁帮我把这个帖子加点分啊~~~(女士优先!) 送分题:怎样在退出程序时一次卸载内存中的所有窗体? 怎样上送软件到csdn 谁有比较快的新闻组服务器的地址? 如何找到各种系统图标?(VC) 姐姐的信(也是以前的) 请问,谁手里有PERL的表单提交程序?(不要能让访问者看的见的) vivianchou@eyou.com 我所遇见的招聘题。。。555 怎么回事~? 参天无眼!!我所遇见的招聘题呀,你。。。55555555555 哪位知道象windows优化大师那样的平面按钮控件。 c+vc+vb+java+delphi+>>>>=工作? 怎么得分呀? dos下的Tcp/Ip协议应用 白痴,笨蛋,神经病之差异(转贴) 测试(大家都不许进来,只是测试,注意,只是测试) 请大家说一下哪个代理注册的网站收费比较底,而且服务又比较好的,谢谢! 在asp中如何实现记录集与编辑框、table表等的数据绑定,给个思路也行。着急呀 [-------大虾帮忙啊--------] bcb中缺少的帮助文件能否再添加? 在哪里可以找到关于sybase的资料 哪位仁兄知道如何打包delphi开发的sybase客户程序,最高78分奉送 一个关于OnDraw()的重绘问题,急急急急急急急! 新手的问题! dll调问题???VB调用VC++的DLL需要返回值时,DLL如何定义?VB调用函数如何定义??? 各位大虾 谁能提供视频采集卡的原代码,必须要CB的,300分 在堆(heap)上与在栈(stack)上建立的对象有什么区别? 一个问题,在做元件时怎样建立TdateTimePicker 给大家看看我弟弟给我的信 求助,标题栏为“The police are investigating the robbery-"的是什么程序? 谁能将.CPP文件的代码翻译成DELPHI语言?? 有关于FLASH5.0的问题!!!请各位大吓指点! 一个问题,怎样在PC:PageControl上增加TabSheet1,TabSheet1,TabSheet1…. 标题栏为“The police are investigating the robbery-"的是什么程序? 一个弱弱的问题 一个问题,建立的 FB: TBevel没显示,好象根本没建立一样。 如何在 MDI CLIENT 中添加快捷方式??谢谢!! 55分,如何映射控件中子控件的消息? 如何选择书 关于文献数据库的一个问题-如何把一个字段和一个文件关联起来? 所有喜欢到水园来逛逛,但是从不回帖子或很少回帖子的人进来签到~~~~ 谁来救救我呀,我好惨呀。。。。 如何通过VC编程,随时关闭网络端口 诚寻对嵌入式linux感兴趣的网友 今天临走前,再灌一桶酒! 急!!!哪里可以下载到制作工具栏时用到的位图呀? 太原的在哪能买到程序员杂志 我的qq:10120129 谁找我??? xml 高手帮帮我,为什么我下面的文件,在IE5.0中什么也没有?? 1.234.56789.10111213141516按规律填数字 3,2,3,7,18,( ) 括号填什么? 全世界北纬18度的度假胜地有哪些. 1 234 56789 .2010在第几排第几个 2 2 0 7 9 9 ()括号里的数是18,请问是怎么得到的, 想知道:中国 北纬18度,经度78.24度 在哪 根据数字关系,括号内的数字应填( ) A.90 B.135 C.63 D.150 东经110度北纬35度是哪里 北纬18度在那个地方? 66.83.102.123.146.()推理 东经140度50分,北纬35度44分一个小说里写得 请问北纬18度有哪些国家的哪些城市?尽量多点,请问北纬18度有哪些国家的哪些城市?尽量多点,能提供点非洲的城市吗? excel怎么倒叙排序?就是A列按...5,4,3,2,1这样排序,往上拉数字依次变大.还有,我想插入N行有什么方法不用在格式里点插入 行,那样一个一个的插很麻烦 -1,10,25,66,123,( )括号里应该是什么数字啊? 某地位于北纬35度,东经163度,该地位于( )A.高纬度地区 B.中纬度地区 C.热带地区 D.低纬度地区上题中该地可能处在( )①东半球 ②西半球 ③南半球 ④北半球A.①③ B.②④ C.②③ D.①④ 如何在excel统计表中,统计表格中出现数字的个数及每个数的数量,例以下9 19 25 27 32 33 112 8 11 13 24 31 151 8 10 13 25 33 133 7 10 14 30 33 1011 18 19 22 23 28 15 7 17 23 27 29 7是出现每个数字的个数,而不是总个 123%66^78-768=? A点东经120度,北纬44度,所在时区是( )区,B点东经90度,北纬35度,所在时区是( )区 excel 频次表 如下图的一个表格 我想统计所有数字出现的频次 怎么做好 最好详细点 谢谢A B C D E F 333330313131282929342733273029333 1(2)、(4、6)、(8、10、12)、(14、16、18、20)、……中,第100个括号中所有数的和是多少? 东经118度12分~119度36分,北纬32度43分~34度06分适合种植人参吗? 如何将EXCEL表中单元里的公式计算出来的数变为纯数字?如题. 20,20,10.18,16,8.25( ),( ).( ),28( ) 我实在不会做,快 想知道:中国 北纬24度,东经118度 在哪 将正偶数按下表排成5列,根据规律,2000在?2 4 6 816 14 12 10 18 20 22 2432 30 28 26 A.第125行第1列 B第125行第5列C.第250行第4列 C第250行第2列 2,5,20,12,-8,(),10 括号里面是什么数字啊? 北纬32度20分 东经119度45在哪个地方 将正偶数按下表排成5列若干行,根据上述规律,2010应在第1列第2列第3列第4列第5列第一行2468第二行16141210第三行18202224第四行32302826……………………………… 把10.20.30.40.50.60.70.80分别填入括号内使每5个数之和等210怎样填 24度03分北纬118度16分东经在哪里? 杨辉三角是一个由数字排列成的三角形数表,一般形式如下:杨辉三角是一个由数字排 不含“欧洲中心论”偏见的精神尤为难能可贵,值得后世永远敬仰、效仿. 把5.10.20.30.40.60.分别填在括号中,使每条边上的三个数的乘积相等. 东经114度北纬32度是哪里 杨辉三角第五行第五行的数是1,5,10,10,5,1 那 第五个式子应该是什么呢 有点晕. 5,10,20,36,( )90 括号内填什么? 北纬27度是一条奇怪的线吗? 杨辉三角 第五行规律用ab表示 )=2分之5=30/( )=30分之( )=( )(这个括号填几分之几 ) 北纬27度在哪?我知道在哪了!在贵阳,是产烟草的。 将杨辉三角形中的奇数换成1,偶数换成0,得到如下图所示的0-1三角数表,从上往下数,第1次全行的数都为1的是第1行,第2次全行的数都为1的是第3行,...,第N次全行的数都为1的是第( )行;第61行 5 8 12 16 20 () 30 36 52 括号里填多少? 东经113度北纬27度是什么国家 在杨辉三角第五行中,除两端的数字1外.在杨辉三角第五行中,除两端的数字1外,行数5整除其余所有的数.你还能找出具有类似性质的三行吗?这时的行数P是什么数? 按规律填数46 95 0 ( ) 33 18 7 括号中填几这个数个位上的数比十位上的数大5,而且比50小. 用什么规律来填的, 东经117度北纬27度是什么山脉 1 -2 3 -4 5 -6 7 -8 9 ---------------------------------按着这样的顺序,第十行从左数,第九个是多少1-2 3 -45 -6 7 -8 9---------------------------------按着这样的顺序,第十行从左数,第九个是多少 找规律(3.8.18.33.53__,__)快!,为什么?i am primary student 东经109度 北纬35度是啥平原很确定吗 如图中数字排列;则第10行第3个是()第n行第2个是() 第一行;1第二行;234第三行456789第4行10 11 12 13 14 15 16 5×9+15÷3-2=18使等式成立(加括号) 东经121°北纬38°是什么地方 将自然数如下排列,那么15125这个数应排在第几行的第几个?1 234 56789 10111213141516 加括号使等式成立3.6+2.4*3+1.5/2=18.75 北纬42东经38.76是什么地方 第一排是1,第二排是234,第三排是56789,问100在第几排第几个 18÷2×3+6=1 加括号,使等式成立! 东经122北纬38是哪里 1 234 56789 .表中第8行的最后一个数是(),它是自然数()的平方,第8行共有()个数. 2,2,7,18,31,90,(),括号里应该填?a.57 b.69 c.86 d.79 北纬50.38° 东经30.49°什么地方
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn