第 1章 PowerBuilder基础
1.1 PowerBuilder简介
1.2 PowerBuilder8.0的新特性
1.3 PowerBuilder 8.0集成开发环境
1.4 应用程序开发过程
1.5 一个简单的例子
1.1 简介
PowerBuilder(简称 PB)是一种 分布式数据库前端
( 即客户端 ) 开发工具, 它是著名的数据库公司 Sybase
的一个重要产品, 通过其图形界面可以快速简捷地开发
出面向对象的数据库应用程序 。
PowerBuilder是一个功能超群, 使用方便, 易于开
发复杂应用系统的 前端数据库开发工具, 或者说是一个
强有力的开发环境 。
利用 PowerBuilder所提供的丰富而完善的开发工具,
可以轻松地开发大型数据库应用系统 。 这些大型数据库
应用系统的数据库和用户既可以在 单机 上, 又可以在一
个局域 网内 。 返回本章目录
作 为 专 业 的 数 据 库 开 发 工 具,
PowerBuilder一直深受国内外广大用户喜爱,
拥有广泛的用户群, 软件开发人员成立了专
门的 PowerBuilder开发爱好者协会, 同时建
立了许多开发爱好者的网站, 积极交流开发
经验 。
据 IDC ( International Data
Corporation) 最新的一次对信息系统管理人
员的调查显示, 最受欢迎的开发工具是以
PowerBuilder为代表的第四代编程语言 ( 4GL)
快速应用开发 ( RAD) 工具 。 返回本章目录
主要特点
1.事件驱动
2.面向对象
3.支持多种数据库
4.PowerScript语言
5,数据窗口
6,跨平台
返回本章目录
当我们单击某个按钮, 从菜单中选取
某个命令, 或在个编辑框中输入数据时,
都会触发相应的 事件 。
用户可以通过编写脚本 ( Script) 来
完成当事件被触发时所要处理的事务, 每
个脚本是一个独立的程序片段, 相当于一
个子程序或函数 。
脚本只有当与之相关联的事件发生时
才会被执行 。
返回节目录
各种 Windows应用程序中常见的窗口,
菜单, 控件等在 PowerBuilder中都是 对象 。
在 PowerBuilder中还可以创建自己的
用户对象 。 对象既包括窗口, 菜单, 函数,
结构, 数据窗口和用户对象, 也包括各种
控件, 如命令按钮, 单行编辑框, 下拉列
表框等 。 这些大小对象都可在各种应用中
重复使用, 提高了开发效率和软件质量 。
每个对象都具有一些特性和特定的行
为, 被称为 属性, 事件和方法 。
下一页
利用面向对象技术中对象的封装性, 继
承性, 多态性等特点可以使我们开发的应用
程序具有极大的可重用性和可扩展性 。
封装性 —— 封装性是将属性和函数封装于
一个对象中 。
继承性 —— 用更加简单的方法使用已有的
类 。
优点:可以再根据不同的需要改变它的属
性;易于标准化 。
多态性 —— 几个不同的对象具有相同名称
的函数 (方法 ),但每个对象为该函数提供的
参数和实现过程可能不相同 。
上一页返回节目录
PowerBuilder提供了对目前流行的
大多数关系数据库管理系统的支持 。
PowerBuilder可以访问的后台数据库系
统包括 Oracle, Sybase, DB2 及
Informix等 。 在开发应用程序时, 数据
库内部的细节对用户是 不可见 的 。
返回节目录
? PowerBuilder具 有 自 己 的 编 程 语 言
PowerScript。
? 用 PowerScript语言编写的程序通常称
为 脚本 。
? 每个对象都有可以发生在它上面的特定
事件 。
? 事件本身也可以触发另一事件 。
? Powerscript提供了丰富的 内置函数 。
返回节目录
? PowerBuilder一个很大的特点就是 数据
窗口对象 的概念 。?
数据窗口对象也是 PowerBuilder中的一
种对象类型, 与其它对象不同的是数据
窗口对象是专门为了访问后台的数据库
服务的, 在数据窗口对象中可以定义数
据的来源和数据的显示风格, 这样在开
发应用程序过程中, 我们就可以把主要
精力放在对数据的处理上, 而不用关心
具体数据的来源
返回节目录
? 网络技术的发展, 对开发的应用程序的
跨 平 台 性 提 出 了 更 高 的 要 求, 而
PowerBuilder就提供了良好的跨平台性 。
? PowerBuilder应用系统可以在 Windows
98/NT/XP,Macintosh和 Sun solaris等
多种平台上开发和运行 。 PowerBuilder
支持 跨平台的开发和分布 。
下一页
? 利用 PowerBuilder开发需要访问服务器
上数据库的 Windows应用程序, 开发效
率高, 开发完成的应用系统能够切实保
证数据的安全可靠, 正确有效, 能够为
最终用户提供一个界面友好, 数据访问
便捷高效, 功能齐备的基于网络的分布
式数据库应用系统 。
上一页返回节目录
1.2 PowerBuilder8.0的新特性
?2001年 8月,Sybase公司推出了最新版本的应用开发
工具 PowerBuilder 8.0( PB8.0)。 PB8以下几个方面:
1.2.1 新的用户界面和开发方法
1.2.2 网络功能的增强
1.2.3 数据库连接新特性
1.2.4 EAServer整合
1.2.5 Web及 N层应用
1.2.6 方便的调试功能
返回本章主要内容
1,引人 WorkSpace和 Target对象
2,用户界面的改变
3,系统树窗口
4,剪贴窗口
5,输出窗口
6,资源编辑器
7,增强的库画板
返回本节
? 许多 以前 仅对数据窗口和数据存储
有效的方法, 现在 同样适用 于网络
数据窗口的服务器组件 。
? PowerBuilder 8.0为数据窗口增加
了 JavaScript支持
? 支持 GIF与 JPEG图像格式 。
? 支持将控件转化为 HTML格式 。
? 支持颜色设置格式 。
返回本节
? 新增了 JDBC,JDB数据库接口 。
? 不自动释放数据库接口库文件 。
? 通过 Windows注册表来获得和存储数
据库的配置信息 。
返回本节
? 开发者可以在不离开 PB的情况下建立和
部署组件到 EAServer。
? 新的异常处理能力 。
? 存在于 EAServer上的 PB 8.0应用程序和
不可视对象可以与 EJB组件直接进行通
信 。
? 在 Java应用开发方面, PB 8.0的代码能
够在 EAServer服务器内部与 Java,C、
C++以及与其它组件一道执行 。
返回本节
? 在将客户机 /服务器应用移植到 Web方面,
PB8.0则提供对统一的用户界面, 工作区与对
象的支持, 简化的 Web站点创建, 基于事件驱
动体系结构的高效页面开发功能, 以及与
EAServer增强的集成 。
?开发 Web和 N层应用, 若使用 JAVA,开
发者要面对两个学习难点:
了解新的模式以及学习 JAVA语言
?而对 PB而言, 只有一个学习难点
从图形开发中 隔离 出来
返回本节
? 直接对当前目标进行调试 。
? 在调试窗口中, 可以看到的调试
信息包括:源代码浏览器, 源代
码及其断点, 堆栈的数据, 内存
中的对象, 变量等 。
返回本节
1.3 PowerBuilder 8.0集成开发环境
? PowerBuilder 8.0是图形界面的应用程序开
发环境,由一系列图形画板( Painter)组成。
? 使用 PowerBuilder8.0,很容易开发出功能强
大的图形界面的访问服务器数据库的应用程
序。 PowerBuilder8.0提供建立符合工业标准
的应用程序 (如订单登记、会计及制造系统 )
所需的所有工具。
下一页 返回本章主要内容
1.3.1 有关概念
1.3.4 画板和视图
1.3.5 使用工具栏
1.3.6 其它
1.3.2 PowerBuilder 8.0主界面
1.3.3 使用向导和 To-Do列表
返回本节
1,应用程序 对象
应用程序, 也就是我们通常所说的应用软件, 是不同对象
的集合
2,对象库
对象:窗口, 菜单, 数据窗口对象, 应用程序 。
3,画板
PowerBuilder 8.0为每一类对象都提供一个画板 。
4,事件和脚本
PowerBuilder 8.0应用程序是由事件驱动的 。
通过为该事件编写脚本, 指定该事件被触发时进行的处理 。
脚本用 Powerscript编程语言来编写, 它由 Powerscript命
令, 函数和语句组成 。
返回
? 包含菜单栏和工具栏的主窗口 。
? PowerBuilder工具栏 。
? PainterBar或 StyleBar。
返回
? 提供的向导 ( Wizard) 可以方便地创建应用程序,
对象和组件 。
? 使用向导的方法如下,
① 单击 PowerBar上的 New按钮 。
② 在 New对话框中, 选择所需的 Target, PB
Object,Web,DataWindow,Database或 Project
③ 选择所需的向导图标, 然后单击 OK按钮 。 也可
以直接双击图标 。
④ 提供向导中每一页所需的信息, 然后单击 Next按
钮 。
⑤ 在向导的每一页的信息都填完后, 再重新审查一
遍 。
? 最后单击 Finish按钮 。 返回
?PowerBuilder 8.0中提供了几十种
不同的画板和工具 。
?单击 PowerBar上的图标, 可以打开
相应的画板或工具 。
?大部分画板都有如下特性:带浏览
的画板窗口, 不限次数的 Undo/Redo,
拖拉操作, To-Do列表的支持 。?
带视图菜单的画板 都可以打开视图。
下一页
1,布局和属性视图
布局 (Layout) 视图用来设计和显示对
象 及 其 控 件 的 布 局 和 外 观, 属性
(Properties)视图显示对象, 控件或者
对象中不可视部分的属性 。
如果打开了属性视图, 并且从布局视
图或控件列表视图中选择了一个控件,
则控件的属性将显示在属性视图中, 我
们可以设置或修改这些属性 。
下一页上一页
2,脚本视图
在脚本 (Script)视图中, 可以编辑事件和
函数的脚本, 定义, 修改用户事件和函数,
声明变量和外部函数, 查看祖先对象的脚本 。
若在函数列表视图中双击一函数, 该函数
的脚本将显示在脚本视图中 。
如果从函数列表视图中拖动一函数到脚本视
图中, 则脚本视图中显示的将是该函数的脚
本 。
若想覆盖系统定义的函数, 只需在脚本视图
中输入覆盖的代码
下一页上一页
3,函数列表 视图
函数列表视图列出了系统定义的函数
和用户自定义的对象级的函数 。 函数旁
的图标标识了该函数是否有脚本, 是否
带有脚本的继承函数, 或者是否带祖先
脚本和自身脚本的继承函数 。
下一页上一页
4,事件列表视图
事件列表 ( Event List) 视图显示了对
象默认的和用户定义的事件原型 。 事件
的图标标识了该事件是否有脚本, 是否
带脚本的继承事件, 以及是否带祖先脚
本和自身脚本的继承事件 。
下一页上一页
5,打开和关闭视图
在一个画板窗口中有多个视图意味着
用户可以同时干多件事情 。
例,打开视图,
关闭视图,
下一页上一页
6,窗格的 标题栏
每一个窗格都具有可以持久显示也可以暂
时显示的 标题栏, 在左上角有一句柄, 可以
将窗格拖动到新的位置 。 窗格和相邻窗格之
间有分隔条, 可以调整大小 。 用户可以按自
己的需要来决定画板窗口的视图布局 。
显示窗格标题栏:
① 将鼠标指针移动到窗个顶层的分割条上, 标
题栏会显示出来 。
② 单击标题栏左边的图钉, 或者从标题栏快捷
菜单中选择, Pinned”项 。
再次单击图钉会将标题栏隐藏起来 。
下一页上一页
7,移动和重置窗格大小
移动窗格,
① )将鼠标指针放在窗格标题栏的任意位置, 按
住鼠标左键不放, 然后开始拖动窗格 。
② 将窗格轮廓线拖动到新的位置 。
③ 在新的位置释放鼠标以放置窗格轮廓线 。
设置停放窗格的方法是:从标题栏的快捷
菜单中选择 Dock,当移动窗格时按住 Shift
下一页上一页
8,保存布局
画板窗口定制的布局的保存方法如下,
选择, View|Layouts”菜单的, Manage”
命令 。
单击其中的第二个按钮新建一个布局
( New Layout), 窗口中出现一个图标,
起一个名字 。
窗口中的其他几个按钮分别是:应用某
个布局, 对某个布局重命名, 删除某个
布局 。
返回上一页
三种工具栏, 分别是 PowerBar,
StyleBar和 PainterBar。 PowerBar
如何定制工具栏:
1,控制工具栏
使用 快捷菜单控制工具栏:
使用 ToolBar对话框控制工具栏,
使用 鼠标移动工具栏:
下一页
2,改变和创建工具栏
在工具栏中 添加按钮:
改变 工具栏中按钮位置,
从工具栏中 删除 按钮,
恢复工 具栏中按钮的初始设置,
添加 用户类按钮的方法如下,
创建 新的工具栏:
返回 上一页
定制快捷键
? 定制快捷键的方法:
? 删除快捷键:
? 击 Reset按钮可以将快捷键重新设置到默认的
位置 。
? 提供了一个随处可用的文件编辑器 。 使用该
编辑器 。
? 任何地方按 Shift+F6 组合键, 或单击
PowerBar中的 Edit按钮, 则文件编辑器被打
开 。
? 该文件编辑器具有与 PowerScript画板 同样的
编辑功能 。
返回
1.4 应用程序开发过程
? 系统分析、系统设计、系统开发、代
码调试、系统测试、生成可执行文件、
交付应用等阶段。其中,系统开发、
代码调试是学习 PowerBuilder的 重点 。
返回本章主要内容 下一页
1.4.1 系统分析和系统设计
1.4.2 系统开发
1.4.3 系统调试和运行
1.4.4 生成可执行文件
1.4.5 应用程序的发布
开发人员都必须充分了解系统需求,
理解系统应该完成的真正任务 。
理解了系统需求后,就进入系统
设计阶段,要考虑用户界面的风格、
使用何种数据库、如何组织数据等
返回
? 在 PowerBuilder 8.0中, 建立应用程序需要做的大量
工作是创建对象, 描述对象, 设置属性和编写代码 。
? 系统开发步骤:
① 创建工作空间 ( Workspace), 目标 ( Target), 对
象库 ( Library) 和应用程序对象
② 创建窗口并在窗口中放置需要的控件, 指定事件被触
发时进行的处理 。
③ 建立数据库 。
④ 创建数据窗口对象
⑤ 创建菜单, 定义菜单项并编写菜单项被选择时执行的
脚本 。
⑥ 创建用户对象 。
⑦创建函数和结构 返回
? PowerBuilder 8.0的调试器提供了单
步跟踪, 断点跟踪, 条件断点, 变量
查看等多种调试功能,
① 选择目标和代码
② 设置断点
③ 调试
④ 运行
返回
? 生 成 可 执 行 文 件 的 途 径 是 用
PowerBuilder 的 工 程 画 板 ( Project
Painter),
? 工程画板能够编译出两类可执行文件:
机器码可执行文件和伪代码 ( P-code)
可执行文件 。
① 创建工程
② 设置工程选项
③ 进行编译
返回
? PowerBuilder在编译完成后的执行文件不能
独立运行, 必须包含 PB的运行时库文件, 数
据库驱动文件以及网络驱动文件等 。
? 文件及进行相关操作:
1,PowerBuilder运行时 动态链接 库 ( Runtime
Library )。
2,数据库接口
一方面包括 PB提供的数据库专用接口或 ODBC
接口程序, 另一方面包括不同数据库厂商提
供的 ODBC数据库驱动程序 。
3,ODBC数据源的配置
返回
1.5 一个简单的例子
? 通过一个简单的例子来说明软件的开发过
程 。
? 【 题目 】 设计一个小学生加法验算程序,
进行两位数以内加法验算 。 要求程序运行
后出现一个窗口, 上面给出两个加数, 使
用者心算或笔算得出结果 。 单击, 计算,
按钮, 系统显示出正确答案用来验算 。 单
击, 下一题,, 系统自动再出一道题, 直
至单击, 退出, 为止 。
返回本章主要内容 下一页
? 第一步,系统分析与设计
? 根据以上需求, 我们首先建立一个工作
空间 ( WorkSpace), 再设计一个应用
程序对象, 放到指定的对象库中 。 接下
来创建一个窗口, 上面放三个单行编辑
框 ( 用来显示两个加数及一个和数 ),
两个静态文本 (, +”号及, =”号 ), 三
个命令按钮 (, 计算,,, 下一题, 及
,退出, ) 。 最后, 为三个命令按钮的
clicked( 单击 ) 事件编写代码, 完成
特定的功能 。
下一页上一页
? 第二步,系统开发
① 建立文件夹
② 建立工作空间
③ 建立应用程序对象, 库和目标
④ 建立窗口
⑤ 编码?
建立一个工程, 编译成可执行文件,
就可以脱离 Poweruilder环境单独执行
了 。
下一页上一页
返回本章首页
本章到此结束