PowerBuilder实用教程郑阿奇主编殷红先张为民编著电子工业出版社第1章PowerBuilder开发环境PowerBuilder是著名的数据库应用开发工具生产厂商SybaseInc.的子公司PowerSoft于1991年6月推出的数据库应用开发工具.PowerBuilder除了能够设计传统的高性能、基于客户/服务器(Client/Server)体系结构的应用系统外,也能够方便地构建和实现分布式系统,还可以开发基于Internet的应用系统。PowerBuilder采用了面向对象和可视化技术,提供可视化的应用开发环境,使得我们利用PowerBuilder,可以方便快捷地开发出利用后台服务器中的数据和数据库管理系统的数据库应用程序。用PowerBuilder不仅能够开发客户端应用程序,而且还可以轻而易举地构造应用服务器,从而形成分布式应用。PowerBuilder支持多种平台,并能生成机器代码的可执行文件。PowerBuilder已经开始从传统的客户/服务器开发环境转变成完全支持WorldWideWeb应用的开发环境。在当前,互联网络技术迅速发展,随之发展的还有OLE,OCX,跨平台等技术,在PowerBuilder中提供了对这些技术的全面支持。第1章PowerBuilder开发环境1.1PowerBuilder的特点1.2集成开发环境IDE简介1.3了解CodeExamples1.4应用程序开发步骤1.5简单应用程序实例1.1PowerBuilder的特点1.专业的客户/服务器开发工具客户/服务器是将任务进行分解、再协同解决的计算模式。客户端的应用程序负责提出任务需求,服务器端的应用程序为客户提供服务。PowerBuilder开发出的应用程序能够与数据库服务器完美地协同工作,构成客户/服务器计算模式。2.面向对象的编程开发人员可以自行构造新的对象(称用户对象),扩展系统的预定义对象,将各种对象有机地组合起来就构成了PowerBuilder应用程序。3.支持多种关系数据库管理系统用开发的应用程序可以同时访问多种数据库系统,PowerBuilder支持多种关系数据库管理系统(RDBMS),对大型数据库来说,提供了旨在充分发挥其性能的专用接口,而小型数据库则可通过ODBC接口灵活地访问。PowerBuilder本身带有一个功能不凡的内置数据库管理系统AdaptiveServerAnywhere8.0,利用它可以脱离网络环境单机运行应用程序。4.支持多种平台的开发环境PB提供了良好的跨平台性,使得应用程序从一个平台移到另一个平台变得不复杂。在不同的操作系统中使用相同的开发环境,应用程序对于不同的系统,只需重新编译就可以运行了。1.1PowerBuilder的特点5.功能强大、使用方便的数据窗口对象PB一个很大的特点就是提出了数据窗口对象的概念。数据窗口对象是专门为了访问后台的数据库服务的,数据窗口对象中定义了数据的来源和数据的显示风格,对自由风格和列表风格的数据窗口,在保持原有风格的同时将所需的内容自动转换成HTML页面。6.丰富的数据表现风格数据窗口为展现数据的本质提供了丰富的手段,利用它可以直观地查询、修改、插入、删除、打印、浏览数据,数据窗口还提供了组框对象和按钮对象,开发人员可以使用它们将数据窗口中的对象进行分组,并且将用户对数据窗口的操作界面集成在数据窗口内部。7.灵活快捷的数据转移方法利用数据管道,开发人员和应用程序能够简单、方便、快捷地把数据库表中的数据从一个表复制到另一个表、从一个数据库复制到另一个数据库、从一个DBMS复制到另一个DBMS。8.操作方便的可视化集成开发环境PowerBuilder为开发人员提供了一个高度集成的可视化编程环境,并且相互之间有机的结合,相互关联,给应用程序开发人员提供了极大的方便,提高了应用程序开发的效率。1.1PowerBuilder的特点9.编程方法简便PB的编程语言PowerScript提供基本的流程控制语句,还提供了几百个函数来操纵各种对象和提供诸如DDE,OLE等方面的支持。此外还可以定义自己的函数,处理特定的事件。10.对Web的完整支持Internet特性和组件包括:(1)Web.PBDLL(2)Web.PB类库(3)Web.PB向导(4)PowerBuilderWindowPlug-inDLL。(5)WindowActiveX(6)PowerBuilderDataWindowPlug-inDLL。(7)O‘ReillyWebSiteWeb服务器。(8)Context对象(9)HTML增强(10)JavaBean代理11.增强的分布式计算能力组建分布式系统的特性包括:(1)共享对象(2)异步处理(3)同步客户端与服务器端数据窗口缓冲区的状态(4)服务器推技术(Push)1.2集成开发环境IDE简介1.主窗口主窗口中有一行菜单栏和一行工具栏。工具栏上的图标与某一个菜单条相对应File菜单项Run菜单项Tools菜单项2.画板所谓画板实际上就是完成一定功能的工具窗口3.工具栏缺省情况下,工具栏显示在窗口顶部.1.2集成开发环境IDE简介主要画板及其功能:Applicationpainter应用画板:指定应用级的属性和编写应用级的脚本;Databasepainter数据库画板:管理数据库,设置数据库的访问控制,维护数据以及创建新表;DataWindowpainter数据窗口画板:创建数据窗口对象;Datapipelinepainter数据管道画板:创建数据管道对象,从一个数据源向另一个数据源传输数据;Functionpainter函数画板:创建全局函数;Librarypainter库管理画板:创建和管理PowerBuilder的应用库;Menupainter菜单画板:创建菜单对象;Projectpainter工程画板:创建可执行文件、动态库、组件和代理对象;Querypainter查询画板:图形化方式定义SQLSelect语句,并保存为Query对象,供数据窗口或数据管道使用;1.2集成开发环境IDE简介SelectpainterSelect语句画板:为数据窗口或数据管道设置SQLSelect语句;Structurepainter结构画板:创建全局结构;UserObjectpainter用户对象画板:创建用户对象;Windowpainter窗口画板:创建窗口对象;4.联机帮助使用系统帮助,对于快速、准确地掌握编程语言和使用方法是十分重要的。1.3了解CodeExamples1.CodeExamples的特点(1)所有应用实例都集成在一个应用中,只需打开一次CodeExamples应用,就可以得到所有的应用实例;(2)各个实例有树形目录分类管理,可以很方便地找到所需要的实例;(3)双击应用实例就可以运行,了解实例的功能和使用方法;(4)对每个实例都有功能说明Description、技术要点Techniques和所有对象的列表,可以迅速查找到某个对象使用的函数、事件以及控件的脚本;(5)提供了对CodeExamples中所有事件、系统函数、用户函数以及对象的查找功能。图PowerBuilder帮助1.3了解CodeExamplesFile菜单中“New…”New对话框选择工作空间Workspace页,见图;2.CodeExamples的基本使用方法(1)打开CodeExamples应用图1-7New对话框Workspace页1.3了解CodeExamples弹出保存文件对话框,新建工作空间文件名为ex.pbw。1.3了解CodeExamples在树型窗口中,在新建的工作空间ex上右键弹出的菜单中选择“AddTarget…”项1.3了解CodeExamples弹出“AddTargetToWorkspace”对话框;在安装PowerBuilder目录下找到pbexamfe.pbl文件。1.3了解CodeExamples(2)运行CodeExamples应用单击Run图标按钮,出现界面如图1-11所示。3.查找和了解实例在实例分类列表区中,将所有应用示例按类型的树形结构展示出来,用于选择具体应用实例;功能说明区和技术说明区对选中的应用实例进行说明;单击RelatedObjects页,可以见到选中实例的对象列表,双击需要查看的函数或事件,可以看到具体的脚本。4.运行实例双击分类列表区中选中的实例,或选中实例后单击Run!图标按钮,就可以运行该实例。1.4应用程序开发步骤1.系统分析和系统设计在开发应用系统之前,必须充分了解系统需求,理解系统应该完成的真正任务,理解了系统需求后,就进入系统设计阶段,考虑用户界面的风格、使用何种数据库、如何组织数据等。2.系统开发和代码调试系统开发过程可分为:建立应用对象;生成用户对象、函数和结构;建立窗口和菜单;创建数据窗口对象;将数据窗口对象连接到窗口上;编写各对象的事件处理程序。建立应用时,可以首先在很短时间内建立应用原型,待系统运行无误后,再进一步锦上添花。使用数据库调试功能可以查出数据访问方面可能存在的瓶颈问题。3.系统测试和功能调试系统测试用于排除系统设计缺陷,检查功能的完整性,操作的方便性,使用的简捷性,运行可靠性以及系统的容错性等4.生成安装盘和交付应用创建新的“工作空间”Workspace的方法见图1-12,单击工具栏上New图标“新创建”New对话框“工作空间”Workspace页,单击OK,弹出保存对话框,设置保存路径和工作空间文件名称后,保存即可。1.4应用程序开发步骤1.4应用程序开发步骤建立新的“应用”Application的方法见图1-13,单击工具栏上New图标“新创建”New对话框“目标文件”Target页“应用”Application或“应用模板”TemplateApplication,单击OK。1.5简单应用程序实例本节通过的应用程序,初步了解编程的基本过程。应用程序的外观。图1-15计算圆面积应用程序1.5简单应用程序实例在硬盘上创建用于存放计算圆面积应用目录D:\myPBEx。步骤:1.创建应用(1)创建新的工作空间。单击New图标按钮选择“Workspace”页,单击“OK”,弹出保存文件对话框,选择到新建的目录D:\myPBEx,输入文件名为“Ex1”。(2)创建新的应用。单击New图标按钮“Target”页应用“Application”,单击“OK”保存文件对话框,选择到新建的目录D:\myPBEx,输入文件名为“CalArea”,见图1-16,单击完成键“Finish”,系统自动用上面输入的应用名称加上扩展名“.pbl”和“.pbt”组成库名CalArea.pbl以及目标文件名CalArea.pbt。1.5简单应用程序实例图1-16创建CalArea应用1.5简单应用程序实例2.创建窗口和设置窗口属性(1)创建窗口,设置窗口属性。单击New图标按钮“PBObject”页,双击“Window”图标,创建一个新窗口对象并进入窗口画板,单击中间区域下部至layout页。在窗口的属性(Properties)卡的General页中,在Title栏中输入窗口标题“圆面积计算”,其余使用缺省值;(2)在窗口上布置搞件,设置控件属性。1.5简单应用程序实例选择“保存”,指定窗口名称为“w_calarea”后系统界面图1-17w_calarea系统界面1.5简单应用程序实例3.编写脚本(1)编写“计算”命令按钮Clicked事件脚本。双击cb_1按钮,输入下列脚本:decimalrr=dec(sle_1.text)sle_2.text=string(3.14159*r*r)(2)在树型窗口中,双击“应用”CalArea,弹出应用画板。在下面空白的脚本编辑区中编写“Open”事件的脚本:Open(w_calarea)1.5简单应用程序实例保存并关闭应用画板。图1-18Open事件的脚本4.运行应用程序单击“Run”图标按钮,就可以运行计算圆面积的程序了。创建新的“应用”Applicatio