浅谈PowerBuilder的特点及编程技巧

 

引言

管理信息系统(MIS)是一个综合的用户—机器系统,它利用计算机提供信息以支持
运行、管理、分析和决策功能。对于广大从事MIS和数据库应用系统开发的软件人
员来说,能拥有一套得心应手的辅助开发工具是他们梦寐以求的愿望。Powersoft
公司推出的PowerBuilder正是这样一种高效而快捷的集成开发环境,它提供了可视
化的、面向对象的、基于客户机—服务器的开发环境。

1.开放式数据库联接ODBC环境

这种体系结构能更好地满足企业的实际需要,有利于应用系统的移植和扩充。目前
,市场上流行的各种数据库系统软件,如Oracle\,Informix\, Sybase等,各行其道
,使用户无所适从。然而PowerBuilder为这些数据库提供了公共的前端工具,提供
了开放式数据库连接ODBC,不仅适用于各种数据库管理系统,具有很好的兼容性,而
且还能给已有的数据资源带来全新的图形界面。

2.基于客户机/服务器的体系结构

基于客户机/服务器(Client/Sever)的体系结构可以减少硬件平台的投资,并能完
成大型主机的功能,而且可以集中数据的存储和管理,实现资源的共享,降低维护的
难度,还能集中实施企业规则,实现企业信息的标准化。

3.面向对象的应用程序开发方法

对象(OBJECT),是包含相关的数据(以变量的形式)以及用于操作这些数据的方法(
子程序)的软件包。一个对象是一个类的具体表现,在功能上它与其它程序保持独
立,一个定义良好的对象具有封装的数据和功能。

对象可以继承。函数、事件、窗体、菜单、用户对象都可以继承,通过继承,可以
快捷地开发出全新的满足特定要求的对象。如果没有继承,开发者将不得不每次在
编写相似对象时使用大量重复性代码。有时他们应用全局函数来减少冗余代码,但
这会使代码要完成的任务复杂化。在GUI环境下,友好的用户界面极为重要,其中标
准化是一种很好的方法。在特定类型窗口中许多细节都是相同的,如果不用父类对
象,必须为这些事件不断地进行编码,如果从这个窗口到那个窗口代码不同,将不能
保证一致的用户界面,因此必须设计一个单一代码源,以保证用户界面的一致性。

通过在接口库的父类对象中编写的界面逻辑代码可以实现这点。一个好的父类库
可以大大地加快项目开发的进度。


4.可视化的开发环境

用户不用了解WINDOWS和C编程技术,通过图形化的交互操作,就可以设计实现应用
系统,开发出美观、简洁的图形化界面来。

5.强大的数据提取能力

PowerBuilder提供了功能强劲的数据窗口控制(DataWindosObject)。数据窗口对
象可以用于联接数据库,获得记录,以各种风格显示数据和更新数据库。经过五个
版本的改进,数据窗口控制已经可以显示基于选定数据的商务图形,同时数据的录
入和显示能力也得到增强,还增加了诸如Crosstab\,N-Up\,Label\,Freeform\,Gr
id\,Group\,Graph\,Tabular等风格各异的报表功能。随着数据有效性验证、编辑
风格、下拉数据窗口及共享数据等功能的加入,函数的数目也再次大幅度增加。数
据窗口除了具有这样强劲的功能之外,还具有很灵活的能力,通过Describe()\,Mo
dify()\,great()等函数,编程者可以在程序中动态地改变数据窗口的结构和显示
模式。


PowerBuilder编程技巧

1.数据的转储和调入功能的实现

一个数据处理系统的安全性部分是整个系统的关键部分,对于一些需要长期保存的
历史数据来说更是必不可少。对于现代的大型数据库管理系统来说,数据的安全性
独立交给DBA来专门管理,一般的系统较少涉及数据的备份工作。为了减少计算机
专业人员的负担,一个好的MIS系统应该提供数据的转储和调入功能,这样对数据库
管理系统不太了解的用户也可以进行数据安全方面的处理。

PowerBuilder中SaveAs()、ImportFile()两函数可以实现这方面的操作,dwcontr
ol.SaveAs()提供了多种数据的存储格式,如dBase的DBF格式、以TAB作为分隔符的
文本TXT格式、Excel格式、SQLInsert格式、CSV格式。dwcontrol.ImportFile()
将数据从各种格式的文本文件中调入数据窗口控制里。

dwcontrol.SaveAs({filename,saveastype,colheading})

dwcontrol.ImportFile(filename{,startrow{,endrow{,startcolumn{,emdcolum
n{,dwstartcolumn}}}}})


2.简洁美观的数据报表的创建

一个系统里的报表应该具有一致的风格,报表至少应该具有如下几种项目:报表的
标题、报表的日期和时间、报表的页序、报表涉及的对象和条件。PowerBuilder
提供了各种类型的数据窗口,报表中主要用到如下几种类型:

N-UP风格,该数据窗口可以多行显示数据,对于显示的内容比较短的记录尤其合适
,可以节省纸张。

GRIDTAB风格,以表格的方式显示数据,外观比较工整,美观明了。

GRAPH风格,以图形方式显示数据,有直方格、圆饼图、曲线图、三维立体柱图。


COMPOS风格,复合数据窗口,这种风格可以将各种不同类型的数据窗口复合在一个
数据窗口里,对于结构比较复杂的报表尤其有效。

3.MDI窗体技术的应用

随着Windows系统的出现,图形交互界面得到了用户的喜爱,已成为一种潮流,其中
MDI窗体技术更是吸引人。MDI窗体,即是多文档交互式窗体,亦叫无模式窗体。

这种窗体包括一个MDI框架窗体及多个MDI子窗口,子窗口只能在框架之内出现和移
动。可以同时打开多个MDI子窗口,但同一时刻只能有一个窗口处于被激活状态。
PowerBuilder支持MDI窗口技术。

首先创建一个窗口WIN,将窗口的类型属性定义为MDI框架窗口类型。

然后再创建另外一个窗口WINCH,该窗口的类型属性定义为子窗口类型。

打开MDI框架窗体:

open(WIN)

打开子窗口:

windowchildwmdi

win.getchild(″winch″,wmdi)

opensheet(wmdi,win,5,original!)

4.SQL语言的使用

在用PowerBuilder编程时经常要使用SQL语言对数据库进行操作,而SQL语言在使用
中格式要求比较严格。此外,在使用SQL语言之前,要用Connect与数据库相连。


5.Crosstab类型数据窗口的使用

Crosstab(CrossTabulation)即横向制表。这种显示风格主要用于数据统计,它可
以检索到数据分类或者分组,进行累计求和或平均值等。下面简要介绍定义这种显
示风格的步骤:

(1)在为数据窗口定义这种显示风格后,PowerBuilder提示定义数据源,指定表和字
段;

(2)用鼠标点取窗口Column选项的向下箭头,显示出定义数据源时选中表的列,此时
,应为 所建的窗口选择纵向统计列;

(3)用鼠标点取窗口Row选项的向下箭头,显示出定义数据源时选中表的行,此时,应
为所建的窗口选择纵向统计行;

(4)用鼠标点取窗口Value选项的向下箭头,显示出定义数据源时选中表的列,此时
,应为所建的窗口选择统计值;

(5)用鼠标点取“OK”按纽,显示出所建的数据窗口。