PowerBuilde教程 下载本文

章 第

PowerBuilder简介

通过本章的学习,您将:

? 简单了解PowerBuilder和Sybase的历史; ? 了解PowerBuilder的面向对象开发技术; ? 了解OLE技术和事件驱动编程方式; ? 了解PowerBuilder 9.0的新增功能; ? 基本掌握PowerBuilder 9.0的开发环境。

1

PowerBuilder 9.0快速入门篇

1.1 PowerBuilder和Sybase的历史

PowerBuilder是PowerSoft公司于1991年发布的软件,最早版本为PowerBuilder 1.0。1994年,PowerSoft公司收购了Waicom公司,同时推出了InfoMaker产品;1995年也是非常有历史性的一年,Sybase公司和Powersoft公司合并,成为世界第六大独立软件商,而且发布的System 11是符合工业标准的高性能、高可用性、易扩展的新一代SQL Server产品;1996年,Sybase公司收购了Visual Components公司,同时推出了最经典的一个PowerBuilder版本——PowerBuilder 5.0;接着,Sybase公司又于1997年推出了Adaptive Server Enterprise11.5、Jaguar CTS1.1、PowerBuilder 6.0、Power++ 2.0、PowerJ 2.0、PowerSite、PowerDesigner 6.0。但是PowerBuilder 6.0由于存在不少Bug,最终升级为PowerBuiler 6.5这个相对成熟的版本。直到现在,很多PowerBuilder程序员都一直在使用这个版本。 1999—2000年推出了PowerBuilder 7.0,它采用了全新的框架结构,开发环境和以前的PowerBuilder完全不一样;2001年推出的PowerBuilder 8.0和2003年推出的PowerBuilder 9.0都采用了与PowerBuilder 7.0相同的框架结构。

1.2 PowerBuilder的面向对象开发技术

面向对象编程(OOP)与以往的第三代编程语言不同,OOP方法可以将程序和数据有机地结合到一种单元,就是我们一般说的类(Class),因为在对象中不仅仅包含着数据(即属性),还包含了过程(也叫做方法),然后用户可以用特殊的结构或者记录来实例化一个类,而这个实例化的类就称作对象,这个对象又可以复制和访问,可以自动实现重用。

作为面向对象的编程,另一个特点就是继承。当一个对象被创建完成后,就可以为这个类扩展出它的派生类,它们拥有父类的所有特性,又有属于自己的特殊方法和属性,这样就可以创建一个标准的通用类作为许多子类的父类。

举个简单的例子:

先创建一个人员基本信息的最基本的父类,假设父类是People,它有“姓名”、“地址”、“性别”、“所在城市”,这些都是人员最基本的信息,然后从People类扩展它的子类,子类命名为雇员Employee,它除了父类的这些基本信息以外,还有“职位”和“薪水”这两个特性,还可以另外从People这个父类派生出学生Student这个类,它的特点是要有“学历”、“所在学校”,这样父类的“姓名”、“地址”、“性别”、“所在城市”等信息就被复用了,如图1-1所示。

具体的例子会在后面的章节中着重讨论。

·2·

第1章 PowerBuilder简介

特殊性学生(Student) “学历”、“所在学校” 公有性基本人员类(People) “姓名”、“地址”、“性别”、“所在城市” 雇员(Employee) “职位”、“薪水”

图1-1 简单示例

1.3 OLE技术

OLE(Object Link Embed)在Windows操作系统中可以用同样的用户界面把各种应用程序集成在一起,现在的OLE技术已经可以自动集成多个运行的应用程序了。

OLE本身就是为了能让Windows应用程序实现进程间的相互通信而引出的一种技术,换句话说就是它提供了一种方式,使运行的应用程序能够互相对话,方便地在一起合作,并集成它们的功能,从而使工作更具效率。

OLE可以使其他的应用程序,比如Word、Excel、画图板等文档被连接或者嵌入到用户的应用程序中,以此来增加其功能。例如如果用户要编辑图片,那么提供画图板来不就显得更加直接和方便吗?另外,OLE功能允许一个应用程序通过发送命令方式控制一个或多个在后台运行的应用程序,而用户根本不必知道这所有的工作都是由其他应用程序完成的。

1.4 事件驱动编程方式

首先要阐述一下事件驱动的含义,其主要思想是,当你的程序运行时,它仅仅做一些初始化和相关的准备工作,然后就停止,等待用户输入相关的操作,否则它不会做任何事情;当用户按下键盘或者单击鼠标的时候,程序才会响应,而程序员不再控制该程序,交给用户来控制。所以现在的事件驱动方式已经完全改变了以前那种面向过程的编程理念,而且Windows整个操作系统就是以事件驱动为核心的,所以对程序员来说没有任何余地,一定要学习这种以事件驱动为主导的编程理念。而且,Powerbuilder的体系结构就是建立在事件驱动模式上的,所有的代码都是写在对象的事件中或者事件调用的公共过程、函数、

·3·

PowerBuilder 9.0快速入门篇

外部方法等之中。

1.5 PowerBuilder 9.0增加的新特性

前面简单地阐述了PowerBuilder的一些基本共性。那么PowerBuilder 9.0会给我们这些PowerBuilder程序员带来什么惊喜呢?Sybase官方的发布会上简单地介绍了PowerBuilder 9.0中将支持对Hard Device的支持,特别加强了针对WinCE等移动平台的支持,在Web方面将支持更多的第三方的Web Server,强化EAServer等。这些性能不在此册书籍中介绍,将在本丛书的《PowerBuilder 9.0 Web开发篇》中重点介绍。

1.6 PowerBuilder 9.0开发环境简要说明

要使用PowerBuilder 9.0,首先需要安装,如何安装请参考本书附录“安装PowerBuilder 9.0”。安装好PowerBuilder 9.0以后,就会在桌面创建一个PowerBuilder 9.0的运行快捷图标,双击此快捷图标以后就能启动PowerBuilder 9.0,启动后的主界面如图1-2所示。

图1-2 PowerBuilder 9.0主界面

先讨论一下主界面中的一些环境。大家注意到了NoWorkspace这些字样的窗口了吗?这个窗口是用来显示当前工作区的所有对象的,包括所有的类库、窗口、函数等。

由于当PowerBuilder默认打开的时候是没有打开任何工作区的,所以在工作区窗口里就显示NoWorkspace。现在我们可以尝试打开配套光盘上的Workspace。单击File菜单中的Open Workspace菜单项,然后在光盘中选择一个pbw文件(因为PowerBuilder的所有工作区都要保存成后缀名为pbw的文件)。当打开一个工作区文件以后就会在此窗口中显

·4·