PowerBuilder控件使用手册
PowerBuilder教程二

3.7.4 SQLCA对象说明
SQLCA是一种Transaction对象实例,pb默认创 建的一个全局变量; 系统通过transaction对象与数据库交互; 可以自己创建一个transaction对象来取代 sqlca; 一个pb应用可以有多个transaction对象;
3.7.4 SQLCA对象说明
3.2 ADO
作为ActiveX的一部分,ADO也是Microsoft的 组件对象模式(COM)的一部分,它的面向 组件的框架用以将程序组装在一起。
3.2 ADO
从一个 ASP 页面内部访问数据库的通常的方法 是: 创建一个到数据库的 ADO 连接 打开数据库连接 创建 ADO 记录集 从记录集提取您需要的数据 关闭记录集 关闭连接
1.上一章回顾
Response! 是一种模式窗口。当这种类型的窗 口被打开之后,输入焦点就切换到这个窗口, 用户只有对这个窗口就行操作并关闭后,才能 使用应用的其它窗口。 这种窗口一般用于查找数据,关闭后将所查找 到的数据传递给打开它的窗口。
2.控件介绍
2、window窗体的控件介绍 button,也就是按钮 picturebutton,可以贴图的按钮 checkbox,复选框 radiobutton,单选按钮 statictext,静态文本 staticHyperLink,链接文本 picture,图片控件 ......
3.2 ADO
ADO(ActiveX Data Objects,ActiveX数据 对象)是Microsoft提出的应用程序接口 (API)用以实现访问关系或非关系数据库 中的数据。
例如,如果希望编写应用程序从DB2或Oracle数据 库中向网页提供数据,可以将ADO程序包括在作为活 动服务器页(ASP)的HTML文件中。当用户从网站 请求网页时,返回的网页也包括了数据中的相应数据, 这些是由于使用了ADO代码的结果。
PowerBuilder8使用说明

zyjckxx@1、数据库相关程序初始化代码// Profile sample1SQLCA.DBMS = "ODBC"SQLCA.AutoCommit = FalseSQLCA.DBParm = "ConnectString='DSN=sample1;UID=wgj;PWD=wgj'"2、在每个要进行数据操作的窗口中初始化代码:connect;DataWindow.settransobject(sqlca)DataWindow.retrieve(1)其中DataWindow为所用的数据窗口3、打开窗口:open(window),其中window为要打开的窗口名称4、关闭窗口:close(window),注意关闭事件触发空间所在的窗口可以用close(parent)5、为数据窗口设置过滤条件:dw_login.setfilter(querytj)6、过滤数据窗口的数据:filter(DataWindow)DataWindow.retrieve(1)7、使某一控件获得焦点:setfocus(Control)8、发送屏幕消息:messagebox(title, content, [yes], [no])messagebox(title, content, question!,yesno!),弹出“是”,“否”对话框,点“是”返回1,“否”返回09、取数据窗口的数据行数:DataWindow.rowcount()10、数据窗口取值:DataWindow.object.data[rowid,colid]11、删除数据窗口中的某一行数据:deleterow(DataWindow,rowid)12、判断修改数据是否成功:update(DataWindos,true,false)返回1表示成功,否则不成功13、提交数据:DataWindos.resetupdate()commit;14、设置数据窗口中的数据:dw_1.object.data[ii,3]=ddlb_1.textdw_1.object.data[ii,4]=integer(sle_4.text)注意当数据库中的数据不为字符串型时要先转换类型后才能赋给数据窗口的相应字段,如第二句。
04 PowerBuilder10.5窗口及控件

编著:刘勇
窗口的组成
• 窗口对象是组成PowerBuilder应用程序的主要成分,是应用程序的操 作界面,其他对象(菜单、数据窗口及用户对象等)只有加到窗口上, 才能显示出来。 • 用PowerBuilder建立的窗口与其它GUI环境所使用的窗口是类似的, 由以下三部分组成:
• • • •
图片( §4.4.5图片(Picture)控件 图片 )
• 图片控件是PowerBuilder中的特殊控件,它 用于显示一个位图BMP文件、RLE文件、 或者Aldus风格的WMF文件。
§4.4.6超链接控件 超链接控件
• 超链接控件主要用来链接到特定的web页, 包括:静态文本超链接控件 (StaticHyperLink)和图片超链接控件 (PictureHyperLink),下面分别介绍。 静态文本超链接控件 图片超链接控件
• • •
4.4.8数据窗口(DataWindow)控 数据窗口( 数据窗口 ) 件
• 这里的数据窗口控件只不过是窗口上的一个空白的控件,与 第七章中讲的数据窗口对象不是一回事。当这个空白的数据 窗口控件建立好后,再将它与某个数据窗口对象建立联系, 在系统运行时,用户通过窗口上的数据窗口控件来操纵数据 窗口对象,完成对数据库的操作(录入、修改、删除等)。
§4.4.11 进度条与轨迹条控件
• 进度条控件:进度条控件分为HprogressBar(水平进度 条)和VprogressBar(垂直进度条)两种,前者在窗口上水 平放置,后者在窗口上垂直放置。进度条控件是用来显 示某个过程的执行进度的。例如,一些大型软件的安装 程序一般都有进度条提示安装进度。 轨迹条控件:分为HTrackBar(水平轨迹条)和 VTrackBar(垂直轨迹条)两种,前者在窗口上水平放置, 后者在窗口上垂直放置。轨迹条控件可以控制其他控件 的变化(如缩小,放大等)。它的外观包括标尺、标尺 刻度和滑动游标。标尺说明了控制范围,刻度说明变化 的递进,滑动游标控制变化的方向。
PowerBuilder参考手册

PowerBu ilder是一个可视化图形界面的数据库应用系统开发工具,它支持面向对象技术、客户/服务器机制、分布式组件开发和因特网应用。
加服务器负载)。
2.文件服务器网络结构:应用程序在客户工作客户站上运行,文件服务器只提供资源的集中管理和访问途径。
(增加网络负载)3.客户服务器网络结构:向服务器发送处理请求而不是文件请求;服务器返回返回的是处理结果而不是文件。
访问文件服务器的数据库访问客服/服务器的数据库4.分布式客户/服务器网络结构客户端应用程序(客户层)电脑、实施商业规则的组件(中间层)电脑、数据库服务器(服务器层)电脑(1)组件具有不同的应用程序可以重复使用的组件共享特性。
(2)组件具有配置和设计的灵活性,使计算机性能得以改善(3)组件开发使得复杂的应用变为易于管理的模块5.Web网络结构Web服务器(电脑)->中间件(电脑)->数据库服务器(电脑)中间件负责管理W eb服务器和数据库服务器之间的通信,并提供应用程序服务,它能够直接访问数据库、调用外部程序。
或利用程序代码访问数据库。
因此可以提供与数据库相关的动态H TML页面或执行用户查询,并将结果格式化成H TML页面,然后通过Web服务器返回给用户浏览器。
通常软件系统根据需求分为两类。
一类需求是需要比较稳定的而且并能够预先指定的系统,称之为预先指定的系统。
如计算机控制系统,卫星图像处理系统、火箭发射控制、数据库管理系统。
开发这类系统需要预先进行严格需求分析,指定精确的规格说明,并在严格管理下进行传统的生命周期开发。
另一类是需求模糊,随时可变化的系统。
一般是商业和行政数据处理系统、决策支持系面向对象建模得到的模型对象的三个要素(三个子模型),即静态结构(对象模型)、交互次序(动态模型)和数据变化(功能模型)。
PB数据窗口教程

PB数据窗口教程数据窗口是PowerBuilder中最常用的控件之一、它用于显示数据库查询结果,并提供了对此结果进行浏览、修改和删除等操作的功能。
本教程将为您介绍如何在PowerBuilder中使用数据窗口控件。
第一步是创建一个数据窗口。
在PowerBuilder的“对象”菜单下,选择“新建”>“数据窗口”。
在弹出的对话框中,选择所需的数据源和表格,并点击“确定”按钮。
此时,将会出现一个空白的数据窗口设计器。
接下来,将需要显示在数据窗口中的列添加到数据窗口中。
您可以通过拖拽数据库字段或手动添加列的方式进行操作。
在设计器的左侧,您将看到一个“对象树”面板,在这里选择数据窗口对象,并右键单击以添加列。
完成列的设置后,您可以在设计器的页面中放置其他控件,以增强用户界面。
一些常用的控件包括文本框、复选框、下拉列表框等。
您可以通过拖拽控件到数据窗口设计器的页面中进行操作,并根据需要设置其属性。
下一步是设置数据窗口的数据源。
在数据窗口设计器的菜单栏中,选择“数据”>“设置数据源”选项。
在弹出的对话框中,选择所需的数据源和表格,并点击“确定”按钮。
此时,数据窗口将会显示数据源中的数据。
现在,您可以运行应用程序,并查看输出窗口中的结果。
您可以通过点击数据窗口中的列标题对数据进行排序,通过点击数据行进行选择,并通过单击“查阅”按钮在查询结果中进行导航。
如果需要,您还可以在数据窗口中进行增加、修改和删除操作。
通过本教程,您应该已经了解了如何在PowerBuilder中创建和使用数据窗口控件。
数据窗口是PowerBuilder开发中非常重要的一部分,掌握了数据窗口的使用方法,可以提升开发效率,并为用户提供更好的用户界面和交互体验。
希望本教程能对您有所帮助!。
在POWERBUILDER中使用WINSOCK控件的方法

在POWERBUILDER中使用WINSOCK控件的方法(一对一,UDP协议)2011-01-18 10:36(该程序是在pb10.5版本环境下编写)一、在窗口中添加WINSOCK控件:在应用中新开一个窗口,在窗口画板中点击controls-->OLE菜单项,弹出Insert object窗口,单击Insert control标签,从列表框中双击选定Microsoft Winsock control,将winsock的图标贴在窗口上。
在程序中该控件名称定为winsock_a(甲方)和winsock_b(乙方)。
二、设置信息输入输出文本框:在窗口中增加一个按钮cb_1,两个单行文本框sle_1,sle_2,分别用于输入要发送的字符串和接受对方发送的字符串。
三、设置通讯协议:WINSOCK控件允许用户以UDP和TCP两种协议中任选一种进行通讯。
1.UDP协议设置:UDP协议是一种无连接的通讯协议,在通讯之前,需要绑定remotehost 和remoteport属性,如果需要双向通讯,还要设置localport属性。
在甲方(本机地址为:192.168.0.34)窗口的Open事件中加入如下语句:winsock_a.object.protocol=1//winsock通讯协议设为UDP协议winsock_a.object.remotehost="192.168.0.29"//对方的ip地址winsock_a.object.remoteport=6000//对方的winsock通讯端口号winsock_a.object.localport=6001//本机的winsock通讯端口号winsock_a.object.bind//绑定通讯协议在乙方(本机地址为:192.168.0.29)窗口的Open事件中加入如下语句:winsock_b.object.protocol=1//winsock通讯协议设为UDP协议winsock_b.object.remotehost="192.168.0.34"//对方的ip地址winsock_b.object.remoteport=6001//对方的winsock通讯端口号winsock_b.object.localport=6000//本机的winsock通讯端口号winsock_b.object.bind//绑定通讯协议需要注意的是:在server和client的ole控件的OLE CONTROL PROPERTIES需要填写项目,不能空(已经作出测试)如图:server:client无论采用哪种协议,都要在窗口的Close事件中加入如下语句:if winsock_a/*或winsock_b*/.object.state <>0 thenwinsock_a.object.close()end if否则可能第二次使用时发生异常问题开始通讯在按钮cb_1(caption属性设为‘发送’)的click事件中加入如下语句:winsock_a.object.senddata(sle_1.text)在winsock_a/*或winsock_b*/控件的dataarrival事件中加入如下语句://接受到对方数据后string datastr1winsock_a/*或winsock_b*/.object.getdata(ref datastr1)sle_2.text=datastr1 //将数据字符串显示在文本框中到此,编译一下,然后在两部电脑分别放server和client(同一局域网内),就可以进行简单的运行了。
[网络编程实用教程]PowerBuilder 实用教程
![[网络编程实用教程]PowerBuilder 实用教程](https://img.taocdn.com/s3/m/8c36a7271711cc7931b7167b.png)
[网络编程实用教程]PowerBuilder 实用教程[网络编程实用教程]PowerBuilder 实用教程篇一 : PowerBuilder 实用教程程继辉第一章 PowerBuilder 概论PowerBuilder 7.0 简介新特性开发环境1.1 PB 7.0 简介1(1(1 PB 特性 1、支持多种操作系统 Windows、UNIX等操作平台 2、与多种数据库的连接性 Oracle、MS SQL Server Sybase SQLServer 3、丰富的开发工具 4、对Internet的强力支持1.1 PB 7.0 简介客户/服务器结构客户: 从其它计算机读取数据,处理后将数据存储到提供数据的计算机中。
服务器: 向其它计算机提供数据的计算机1.1 PB 7.0 简介面向对象设计概念对象属性方法事件关联1.1 PB 7.0 简介事件驱动过程的程序设计原理事件驱动:程序启动时,只做了一些初始化的工作,然后等待用户或外界的环境的触发。
所有的代码都是编写在不同的事件中。
1.2 PowerBuilder 7.0的新特性全新的用户接口和开发界面1.2 PowerBuilder 7.0的新特性非模态的开发视窗 PB7.0的画板一般是拥有多个视窗的窗口,每个视窗提供查看和修改对象的特定方式或者显示与对象相关的某种信息,见图示1.2 PowerBuilder 7.0的新特性数据库连接新特性1.3工具栏PB7.0 的开发环境菜单画板数据窗口画板第二章应用程序创建应用程序对象设置应用程序的属性应用程序对象的事件对象库搜索表运行应用程序应用程序对象的事件触发时机启动应用程序Open 事件初始化,打开初始化窗口与用户交互系统错误打开其它窗口系统错误启动应用程序应用程序终止关闭并清除所有对象应用程序对象应用程序属性应用程序事件对象库搜索表创建应用程序创建应用程序第三章窗口设计窗口创建窗口控件的基本操作窗口控件属性、事件和函数常用对话框创建窗口创建窗口设计窗口布局的地方窗口或控件属性编写事件代码的地方窗口事件窗口控件属性、事件和函数PB控件: 从行为上区分: 1 能响应用户的操作 2 不能响应用户的操作从用途上区分 1 激活动作类 2 选择项类 3 显示数据类 4 修饰类在窗口中添加控件在窗口中添加控件第四章数据库基础及管理数据库应用技术的发展过程如何开发数据库应用系统数据库结构的设计与实现数据库管理数据库的操作表的定义和数据操作表数据的处理 PB的专用接口与数据库建立连接4.1数据库应用技术的发展过程1、主机应用模式2、文件服务器应用模式3、客户服务器应用模式4、分布式计算应用模式5、WEB网络应用模式主机应用模式大型机应用程序数据库按键信息终端字符终端1 终端2 终端n文件服务器应用模式网络文件服务器数据库文件请求文件工作站1工作站2 应用程序工作站n 应用程序应用程序客户服务器应用模式应用程序网络服务器数据库处理请求处理结果工作站n 应用程序工作站1工作站2 应用程序应用程序文件服务器和C/S的数据库操作比较程序发出查询学号为99090221的信息的SQL请求查询操作在客户端完成查询文件请求文件服务器45000名学生数据的文件45000条记录的文件响应文件请求并返回整个文件程序发出查询学号为99090221的信息的SQL请求接收结果查询请求数据服务器查询在服务器端进行45000名学生数据的文件返回99090221的记录分布式计算应用模式数据库数据库服务器商业服务器实现商业规则的组件客户端应用程序工作站1工作站2工作站nWEB网络应用模式Internet/Intranet 客户端浏览器WEB服务器服务器中间件数据库服务器客户端应用 Java Applet ActiveXInternet/Intranet 客户端浏览器服务器数据库4.2 如何开发数据库应用系统用PowerBuilder开发应用系统时,一般都要经过系统分析、系统设计、系统开发、代码调试、系统测试、生成EXE、交付应用等各个阶段。
PowerBuilder控件使用手册

PB控件使用介绍一、PB中使用Microsoft Web Browser控件步骤:在pb的某窗口中加入OLE对象,选择Insert control(插入控件),然后选中"Microsoft WEB 浏览器",(随系统而定的版本),就可以在这个窗口直接使用IE浏览器控件了。
常用函数:(对这个ole控件取名叫ole_web)ole_web.object.navigate(string ls_url) file://浏览某url,譬如:ole_web.object.navigate('') 就是浏览 页面,当然支持本地文件,也支持本地图片文件的浏览,如jpeg,jpg,gif,png等等,如果是不支持的文件,则直接弹出选择打开文件对话框,和ie一模一样。
ole_web.object.goback() file://回退(如果没有内容可退,则会弹出错误,可以屏蔽该错误)ole_web.object.goforward() file://前进,同上常用事件:documentcomplete : url请求的页面完成;downloadcomplete:url中请求的下载完成;常用属性:ole_web.object.width :pixel高度,需要转换为pbunit高度才可以调整ole_web.object.height:同上ole_web.object.offline:离线方式,true,false两者之一你甚至可以用pb写出一个和ie类似的界面用来进行浏览网页或图片。
二、在程序中打印在程序中如何提供打印功能呢?这里有三种调用打印函数的格式可供选择。
1. 对数据窗口控制或者数据窗口可以使用这种打印格式。
DATAWINDOWNAME.Print(cancel_window)这里cancel_window 是一个布尔值,它指出是否要显示一个用户可以用来中止打印动作的窗口。
PowerBuilder窗口及窗口上的控件

§1.3.3窗口上控件的调整
▪ 选中窗口上的控件 :选中一个控件,选中多个控件; ▪ 调整窗口上的控件 :
▪ 定义光标在控件上的跳转顺序
§1.3.4控件的编程
▪ 窗口上的每个控件都有相应的事件,用户可根据需要编写事 件处理程序。方法如下:
▪ ① 选择要编程的控件。 ▪ ② 单击鼠标右键,从弹出菜单中选择Script项,或单击图标,
▪ 为标签控件增加标签页 ▪ 修改标签控件中Tab页的属性 ▪ 修改标签控件的属性
1.4.8数据窗口(DataWindow)控件
▪ 这里的数据窗口控件只不过是窗口上的一个空白的控件,与 第七章中讲的数据窗口对象不是一回事。当这个空白的数据 窗口控件建立好后,再将它与某个数据窗口对象建立联系, 在系统运行时,用户通过窗口上的数据窗口控件来操纵数据 窗口对象,完成对数据库的操作(录入、修改、删除等)。
1.2.3在窗口上放置控件
▪ 创建新窗口时,除了要设置窗口的属性外,还要在窗口上放 置控件,只有这样窗口才能和用户进行交互,即接收用户的 输入信息,并把信息呈现给用户。把控件放置到窗口上后, 还可以定义控件的属性及对控件编程。详见§1.3。
§1.2.4窗口的保存
▪ 应随时保存正在创建或修改的窗口。保存窗口的方法如下: ▪ ① 从菜单栏中选择File—>Save,也可单击画板PainterBar工具栏上的Save图标,
▪ 静态文本(StaticText)控件 ▪ 单行编辑器(SingleLineEdit)控件 ▪ 多行编辑器(MultiLineEdit)控件 ▪ 编辑掩码 (EditMask)控件 ▪ 超文本编辑(RichTextEdit)控件
§1.4.4列表选择
▪ 当应用程序只用到少数几个选项时,使用单选钮和复选框既简单又方便。但是 当选项较多且运行时可能变化,单选钮和复选框就显得力不从心了。此时,我 们可以利用列表方式为用户提供多重选择。PowerBuilder提供了以下四个控件 完成列表选择:列表框、图片列表框、下拉列表框和下拉图片列表框。下面分 别进行介绍。
powerbuilder指导文档

(注意此时的窗口是没有保存的,窗口上面要添加至少一个控件后才能保 存) � 创建成功后,在窗口 layout 区任意插入一个控件,点击保存,将其命名 为 w_sign( 命名规则中,一般窗口名称的前缀为 w_) 。如下图所示:
2.4 编写代码
� � 双击按钮 none 按钮,出现其 Clicked() 事件的脚本编辑区,即编写 none 按钮代码的地方。 再双击 sign ,到 open 工作区编写打开的窗口名称。如下图所示:
powerbuilder 操作指导文档
Summer Chanel
1
安装 POWERBUILDER 软件................................................. 3
2 建立一个 PB 工程................................................................... 3 2.1 创建工程文件夹................................................................. 3 2.2 启动 POWERB UILDER12 应用程序.......................................3 2.3 新建工程............................................................................ 3 2.4 编写代码............................................................................ 4 2.5 保存与运行........................................................................ 5 2.6 生成.EXE 文件.................................................................... 5 3 COM 组件调用方法................................................................ 5 3.1 不支持拖拽的 COM 组件调用方法.................................... 5 3.2 支持拖拽的 COM 组件调用方法....................................... 6 3.3 添加 OLE 时第三个选项卡枚举崩溃情况的解决办法....... 6 4 PB 工程打包............................................................................7
PowerBuilder实用教程第4章 窗口控件

(1)外观复制。它只复制控件的外观和属性 ,而控件所带的事件脚本则不复制,其实现方 法为首先选中需要复制的控件,可以是一个或 多个控件,然后按下【Ctrl+T】组合键。
(2)完全复制。它将控件的外观、属性及 所有事件的脚本全部复制出来,其实现方法 是首先选中需要复制的控件,可以是一个或 多个控件,然后进行复制。
(2)修改选项卡和选项页的属性,注意,当单击标签时出现的是选项卡的属性,而单击选项页 时出现的是选项页的属性。 选项卡的基本属性如图4.14所示,选项页列表中将所有选项页的名称和标签上的标题顺序排列 出来了。
1.创建选项卡“Tab”的步骤
在选项页内任意一点单击时出现选项页的基本属性,如图4.15所示。
PowerBuilder实用教程(第5版)
第4章 窗 口 控 件
——窗口控件的布局调整
目录
01
齐整性操作
齐整性操作
为了解决这个问题,PowerBuilder专门提供了进行齐整性调整的工具。比较常用的方法是利用系 统工具栏中的齐整性操作组合图标(共有11种齐整性操作图标),具体作用如图4.6所示。
复制窗口控件
完全复制的方法有以下三种。 ① 用【Ctrl+C】组合键复制到剪贴板中,再按【Ctrl+V】组合键粘贴出来。复制出来的新控件与 被复制的控件重叠在同一位置,使用鼠标将其拖开,并根据需要对新控件进行修改。 ② 使用系统选单项“Edit | Copy”将控件复制到剪贴板中,再通过选单项“Edit | Paste Controls” 将剪贴板中的控件粘贴到窗口中。只有将控件复制到剪贴板后,“Edit”选单栏下的“Paste Controls” 选单项才会出现。 ③ 使用工具栏中的复制和粘贴图标,如图4.5所示。
PowerBuilder实用教程第10章 选单

选单的设计原则
选单的设计原则
在设计选单时,可以参考以下设计原则。 (1)选单要有统筹规划,使其划分合理、条理清晰、简明直观、方便易用。
(2)选单标题和选单项的名称设计应当简明扼要,具有概括性和直观性。
(3)采用加速键和快捷键,起到快速和没有鼠标只用键盘也能操作选单的双重效果。 (4)如果某选单项将打开一个对话框,则在该选单项的标题中使用省略号进行提示。 (5)某一选单项或整个选单标题下的选单项不能使用或禁止使用时,应使其变灰(禁止使用)。 (6)级联选单的层数不宜太多,选单栏及下拉选单不要超出屏幕范围,否则无法操作。 (7)采用状态栏对选单的使用提供帮助和提示信息,对选单项的功能进行详细的说明。
说 明
允许用户同时选中多个项目,允许时可以按下【Shift】键后单击鼠标选中连续多 项,或按下【Ctrl】键后单击选中不连续的多项,或拉出矩形框选中框内多项
允许用户同时选中多个项目,但只能通过鼠标单击选择 允许在编辑框中进行编辑 使下拉列表框变为列表显示,失去下拉功能
Item
用于输入列表框中的项目
பைடு நூலகம் 目录
PowerBuilder实用教程(第5版)
第10章 选
单
——创建选单
目录
01
选单术语
选单术语
有关选单的基本术语参见图10.1的说明和表10.1的解释。
属 性 DisableNoScroll ExtendedSelect MultiSelect AllowEdit ShowList 选中时,始终显示滚动条
创建选单对象
(3)在该选单标题上单击鼠标右键,出现与前面相同的弹出式选单,不过此时选单的所有功能 都可以使用。 (4)为选单项编写程序脚本。通常,在选单树的最后一级编写脚本,可以采用下面四种方法之
PowerBuilder实用教程第3章 窗口

目录
01
窗口的类型和基本属性
窗口的类型和基本属性
窗口的基本特征属性页如图3.4所示。
窗口的类型和基本属性
窗口的基本特征属性页中有13个复选框,控制着13个布尔变量,其作用见表3.3。
特 性 英文名称 作 用
窗口画板
其中,布局视图区和窗口属性区是最常用的,一般要保持打开状态,其余区域可以根据需要打 开和关闭。各区域的大小可以随意调节,在窗口画板中的位置也可以自行设置,方法是将光标移到 标题栏处,按下鼠标左键将光标拖曳到适当的位置即可。区域的打开可以在“View”选单项下进行 选择,如图3.3所示。
目录
目录
03
窗口画板
窗口画板
窗口画板是由布局视图区、窗口属性区、函数列表区、脚本编辑区、结构列表区、结构定义区、 控件列表区、事件列表区及非可视对象列表区等区域组成的。窗口各区域的用途见表3.1的说明。
区域名称 布局视图区 控件列表区 区域英文名称 Layout Control List 用 途 所见即所得的窗口设计区,可以改变窗口大小,在窗口中进行控件的添加、 删除、修改、位置调整等操作 列表显示窗口中的所有可视控件,包括不可见的控件,即Visible属性设置为 False的控件
窗口属性
窗口属性表共有四页,每一页的作用见表3.2。其中,最重要的是基本特征属性页。下面分别 介绍各属性页的具体内容。
窗口属性表页的名称 基本特征属性页
滚动条属性页 工具栏属性页 其他属性页
表页的英文名称 General
Scroll Toolbar Other
功 能 用于窗口名、特征、外貌、风格、选单 等的设置
powerbuilder9.0教程1

powerbuilder9.0教程1第1章 PowerBu i l der概述教学提⽰:PowerBuilder是美国Powersoft公司推出的⼀种使⽤⽅便、功能强⼤的数据库应⽤系统的前端开发⼯具。
最新的PowerBuilder 9.0版本扩展并改进了许多功能,增加了对.NET、PBDOM、XML DataWindow、RAD JavaServer Pages和PBNI的⽀持。
PowerBuilder 可以实现与多种⼤型数据库管理系统的连接,是⼀个⾼度集成的数据库应⽤系统开发⼯具。
教学要求:本章⾸先介绍PowerBuilder的主要特点,重点使读者掌握PowerBuilder 9.0集成开发环境的组成和基本⽤法,学会使⽤PowerBuilder 9.0开发简单应⽤程序的基本过程。
1.1 PowerBuilder简介PowerBuilder是著名的数据库应⽤开发⼯具⽣产⼚商Sybase Inc.的⼦公司PowerSoft 公司于1991年6⽉推出的产品。
它基于客户机/服务器体系结构研制设计,⽤于数据库应⽤程序的客户端开发。
PowerBuilder采⽤了⾯向对象和可视化技术,提供可视化的应⽤开发环境,利⽤PowerBuilder可以⽅便、快捷地开发出利⽤后台服务器中的数据库管理系统的数据库应⽤系统。
这些应⽤系统既可以运⾏于单机上,也可以运⾏于局域⽹或因特⽹平台上。
PowerBuilder⾃投放市场以来,以其独特的体系结构和强⼤的功能受到⼴⼤开发⼈员的好评和欢迎,在数据库前端开发⼯具市场占据了很⼤的份额。
⾃1991年6⽉PowerBuilder 1.0投放市场以来,PowerBuilder经历了多次升级换代,其性能⼤⼤增强和改善,使⽤效率⼤⼤提⾼。
特别是随着因特⽹的发展,PowerBuilder开始与Internet相结合,分别于1997年12⽉和1998年11⽉推出PowerBuilder 6.0和PowerBuilder 7.0,提供了Internet开发环境所需要的组件、库和⼯具,增强了Internet的应⽤能⼒,并提供了更加⾼效的数据窗⼝对象。
powerbuilder10实用教程(全)

与变量不同的是,常量在声明之后是不会再改变的,试图 对它进行二次赋值,会引发编译错误。
第17页
2013年8月15日
PowerBuilder 10实用教程
清华大学出版社
数组
பைடு நூலகம்
数组是一系列有相同数据类型的有序数据 的集合。数组中的所有元素都共用一个变 量名,通过下标可以访问数组中的每一个 元素。要声明一个数组只要在变量名后加 上方括号即可。对于固定数组,还可以在 方括号中指定数组的维数。如果声明数组 时括号中没有指定维数,则此数组是变长 数组,在运行时可以根据需要调整数组的 大小。
2013年8月15日
第11页
PowerBuilder 10实用教程
清华大学出版社
数据类型
数据类型是编程语言中的一个重要概念, 它表示数据的特点。在PowerScript语言中 共有4种数据类型,它们分别是:标准数据 类型、Any数据类型、系统对象数据类型以 及枚举数据类型。
2013年8月15日
第12页
2013年8月15日
第16页
PowerBuilder 10实用教程
清华大学出版社
变量与常量
变量就是在应用程序的使用中可以改变其自身值的数据标 识。在PowerBuilder中,根据作用范围变量可以分为全 局变量、实例变量、共享变量和局部变量4种。
– 全局变量(Global):它是独立于应用程序中的其他对象,在整个 应用程序中都可以访问到的变量。 – 实例变量(Instance):它属于单独的一个对象,是对象的一个属 性。 – 共享变量(Shared):它属于一个对象的定义,可以被这个对象的 所有实例所共享。共享变量在对象关闭和再次打开的时候仍然保 持它自己的值。 – 局部变量(Local):它是一个临时变量,存活范围仅在定义它的脚 本程序中。脚本程序运行完毕,变量即被销毁。
38个powerbuilder操作技巧

1 使DataWindow列只能追加不能修改如何使DataWindow中的数据只能追加新记录而不能修改,利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下:将每一列的 Protect 属性设置为:If( IsRowNew(), 0, 1) )在 PowerScript 中可以动态修改 Protect 属性:dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'")这样,DataWindow 中只有新追加的记录可修改,而其他记录是只读的。
2 如何在DataWindow中实现列的自动折行我们在PowerBuilder应用程序的开发过程中, 使用DataWindow时, 经常会遇到某列的数据太长, 不能同时全部显示的情况. 若采用自动水平滚动, 操作起来又不够简便. 下面介绍一种方法, 实现列数据多行显示, 即实现列数据的自动折行.具体步骤如下:1) 在DataWindow Painter中打开此DataWindow.2) 在需设定自动折行的列上双击鼠标, 弹开此列的属性窗口.3) 选择Position标签, 选中Autosize Height 多选框.4) 选择Edit标签, 不选中Auto Horz Scroll多选框.5) 单击OK按钮, 保存所做的修改.6) 点中Detail Band (即写有Detail的灰色长带), 单击鼠标右键, 选择Properties... 菜单项.7) 选中Autosize Height多选框.8) 单击OK按钮, 保存所做的修改.9) 保存此DataWindow.注意:连在一起的汉字(中间没有标点或空格分隔), 系统将认为是一个单词, 不会自动进行折行.3 在数据窗口中实现动画要实现动画,必须要有定时器,在数据窗口中已经有了一个定时器,双击数据窗口将弹出的对话框,在Timer Interval中定义大于零的值就有定时器(可以精确到毫秒),有了这个定时器就可以实现动画了。
PowerBuilder函数使用手册

PowerBuilder函数全集PrintDefineFont()功能定义打印作业使用的字体,对每个打印作业PowerBuilder支持八种字体。
语法PrintDefineFont(printjobnumber,fontnumber,facename,height,weight,fontpitch,fontfamily, italic,underline)参数printjobnumber:用PrintOpen()函数打开的打印作业号fontnumber:指定赋给当前定义字体的编号,有效值在1到8之间 facename:string类型,指定字体名称,该字体应该是你的打印机支持的字体,比如“宋体”height:Integer类型,使用正值指定字体的高度,以千分之一英寸为单位;使用负值指定字体点数,比如,-18代表18点。
一般来说,使用点数更精确些weight:指定字体的磅数,正常字体为400磅,粗体为700磅fontpitch:FontPitch枚举类型,指定字体标准。
有效取值为:Default! - 缺省值;Fixed! - 固定形式;Variable! - 可变形式fontfamily:FontFamily枚举类型,指定字体系列。
有效取值为:AnyFont!、Decorative!、Modern!、Roman!、Script!、Swiss!italic:boolean类型,指定是否使用斜体样式。
有效取值为:TRUE - 使用斜体样式;FALSE - 不使用斜体样式。
缺省值为FALSEunderline:boolean类型,指定是否加下划线。
有效取值为:TRUE - 加下划线;FALSE - 不加下划线。
缺省值为FALSE返回值Integer。
函数执行成功时返回1,发生错误时返回-1。
如果任何参数的值为NULL,PrintDefineFont()函数返回NULL。
用法在一个打印作业中,应用程序能够最多同时定义8种字体。
PowerBuilder 9.0

指代词Parent指代词指代词Patent用于引用包含当前对象的对象。
在w_main窗口或用户对象的控件中,Parent 指代窗口或是用户对象:在菜单中,Parent指代包含当前菜单项的上一级菜单。
例如,在窗口“改变标题”按钮上编写如下脚本:If parent.title=”测试窗口”thenPatent.title=”你好!”ElseParent.title=”测试窗口”End if用户点击该键会看到窗口的标题在“测试窗口”和“你好!”两者之间来回切换。
在w_main 的“退出”按键使用close(parent)和close(w_main)语句是相同的,前面的语句更通用些,即使窗口的名称改变了,程序任然能够正常运行。
标准数据类型:在说明变量或数组时使用Bolb:二进制大对象,用于存储大量数据,如图像、大文本等Boolean:布尔值、TRUE或FALSEChar或Charater:单个ASCII字符Date:日期,包括4位数的年(1000~3000)、月(01~12)、日(01~31)DateTime:日期及时间,仅用于对数据库存取DateTime值时使用Decimal或Dec:有符号十进制数,最大表式范围为18位长Double:有符号浮号数,精度为15位,范围从2.2E-308~1.7E+308Integer或Int:16比特有符号整数,范围从-32768~+32767Long:32比特有符号整数,范围从-2,147,483,648~+2,147,483,648Real:符号浮点数,精度6位,范围从1.17E-38~3.4E+38String:由任何ASCII字符组成,宽度从0~60.000Time:24小时制时间,小时(0~23)、分(0~59)、秒(0~59)以及秒的小数位(最多6位),范围从00:00:00到23:59:59.999999UnsignedInteger或Uint:16比特无符号整数,范围从0~65,535 UnsigndeLong或Ulong:32比特无符号整数,范围从0~4,294,967,295。
powerbuilder tooltip用法

powerbuilder tooltip用法PowerBuilder Tooltip 用法详解引言:PowerBuilder 是一款老牌的客户端开发工具,被广泛应用于企业级应用程序的开发。
其中的Tooltip 功能使得用户能够在界面上方便地获取对象的相关信息,提高了用户体验和易用性。
本篇文章将介绍Tooltip 的用法,包括如何设置和自定义Tooltip。
第一章:Tooltip 概述1.1 什么是Tooltip?Tooltip 是PowerBuilder 中的一种用户界面控件,它用于为对象提供简短的解释或说明。
当用户将鼠标悬停在对象上时,系统会显示一个小窗口,其中包含了与该对象相关的信息。
1.2 Tooltip 的作用Tooltip 的主要作用是提供额外的信息,帮助用户更好地了解和使用应用程序。
它可以用于各种对象,如按钮、标签、图像等。
通过Tooltip,开发人员可以在不占用太多屏幕空间的情况下,为用户提供重要的提示和指导。
第二章:设置Tooltip2.1 为按钮添加Tooltip在PowerBuilder 中,为按钮添加Tooltip 是非常简单的。
首先,选中要添加Tooltip 的按钮控件,然后在属性窗口中找到TooltipText 属性。
在该属性中,输入希望显示的提示信息即可。
例如,将TooltipText 设置为“点击此按钮可以保存数据”。
2.2 为其他对象添加Tooltip与按钮类似,标签、图像和文本框等其他对象也可以添加Tooltip。
设置方法与上述步骤相似,即选中对象,找到TooltipText 属性并设置相应的提示信息。
第三章:自定义Tooltip3.1 改变Tooltip 的外观在大多数情况下,Tooltip 的默认外观已经足够满足需求。
但是,如果你希望改变Tooltip 的字体、颜色或边框等外观效果,你可以使用PowerBuilder 的属性设置功能。
例如,通过设置Tooltip 控件的Font 属性,你可以改变Tooltip 的字体样式和大小。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PB控件使用介绍一、PB中使用Microsoft Web Browser控件步骤:在pb的某窗口中加入OLE对象,选择Insert control(插入控件),然后选中"Microsoft WEB 浏览器",(随系统而定的版本),就可以在这个窗口直接使用IE浏览器控件了。
常用函数:(对这个ole控件取名叫ole_web)ole_web.object.navigate(string ls_url) file://浏览某url,譬如:ole_web.object.navigate('') 就是浏览 页面,当然支持本地文件,也支持本地图片文件的浏览,如jpeg,jpg,gif,png等等,如果是不支持的文件,则直接弹出选择打开文件对话框,和ie一模一样。
ole_web.object.goback() file://回退(如果没有内容可退,则会弹出错误,可以屏蔽该错误)ole_web.object.goforward() file://前进,同上常用事件:documentcomplete : url请求的页面完成;downloadcomplete:url中请求的下载完成;常用属性:ole_web.object.width :pixel高度,需要转换为pbunit高度才可以调整ole_web.object.height:同上ole_web.object.offline:离线方式,true,false两者之一你甚至可以用pb写出一个和ie类似的界面用来进行浏览网页或图片。
二、在程序中打印在程序中如何提供打印功能呢?这里有三种调用打印函数的格式可供选择。
1. 对数据窗口控制或者数据窗口可以使用这种打印格式。
DATAWINDOWNAME.Print(cancel_window)这里cancel_window 是一个布尔值,它指出是否要显示一个用户可以用来中止打印动作的窗口。
这种格式只适用于打印单个数据窗口的内容,如果要在同一个作业当中打印多个数据窗口的内容,就要使用PRINTDATAWINDOW函数。
2. 对任何对象均可使用第二种语法。
OBJECTNAME.Print(job#,x,y,{width,height})这种打印格式是直截了当的。
JOB#指出作业,X和Y指出打印作业指出的打印区。
WIDTH 和 HEIGHT指出打印的长度和宽度。
如果不特别的说明长宽的值,那么就使用对象原来的大小。
3. 打印函数的第三种格式可以用来打印串值:Print(job#,{tab1,}string_value{,tab2})其中,TAB1说明打印开始之前打印光标应该移动到哪里(千分之一英寸为单位)。
什么是打印光标呢?POWER BUILDER使用打印光标来保持打印区域内依次打印最后结束处的坐标轨迹。
若没有给出TAB1,或者TAB1的值小于当前光标的X坐标,则从所在的位置开始打印。
TAB2指定的是打印之后光标应该处在的位置,如上所述,或者TAB1的值小于当前光标的X坐标,那么光标保留在它原来的位置。
如果字符串中包括换行字符,那么最初的TAB位置只适合第一行。
三、 打印函数POWER BUILDER提供了几十个打印函数。
下面我们介绍几个常用的函数的用法。
PrintOpenPrintOpen函数打开一个打印作业,并且分配给它一个打印作业号,在以后的程序当中我们可以使用这个打印作业号。
它可以接受一个字符串作为参数,这个字符串说明打印作业的名称。
例如:int pjobpjob = PrintOpen(one print job)PrintCancelPrintCancel函数用来删除打印的作业和假脱机文件。
PrintCancel函数有两种格式。
DATAWINDOWNAME.PrintCancel()这种格式可以删除一个数据窗口或它所拥有的正在打印的子数据窗口的打印。
PrintCancel(job#)这种格式可以删除正在打印的作业。
PrintClose使用PrintClose函数可以打印当前页(或者假脱机的页),调用格式为:PrintClose(job#)一旦PrintClose函数执行完毕,那么与该打印作业有关的那个标识号就不再被使用。
PrintDatawindow使用PrintDataWindow函数可以打印一个数据窗口或者子窗口,这个函数主要用于打印在单个的打印作业当中打印多个数据窗口。
它的调用格式是:PrintDatawindow(job#,DATAWINDOWNAME)例如:integer jobjob = PrintOpen()PrintDatawindow(job,datawindow1)PrintDatawindow(job,datawindow2)PrintDatawindow(job,datawindow3)PrintClose(job)PrintPage使用PrintPage函数可以打印当前的页,并且为指定的打印作业开始新的一页。
调用格式如下:PringPage(job#)PrintSetup使用PrintSetup函数可以调用由打印机驱动程序提供的PrintSetup窗口,用户可以进行设置,函数可以在用户结束设置之后,将设置的结果保留在打印机的驱动程序当中。
四、 动态数据窗口1 简介从前面的内容当中,我们知道一个窗口上的数据窗口控件,必须和一个真正的数据窗口对象配合起来才能进行工作。
数据窗口对象和数据窗口对象所包含的所有的实体(如文本、图形)都有自己的属性。
在程序运行的时候,我们可以通过获取、修改这些属性的方法来对数据窗口对象及其所属实体进行动态的控制,甚至能够动态地建立一个新的数据窗口对象。
下面,我们就来介绍动态的操纵数据窗口对象的方法。
2 动态创建数据窗口创建数据窗口有两种方法。
一种是在POWER BUILDER 的数据画板中建立,另一种就是在程序运行的过程中通过执行一段脚本来动态地建立数据窗口。
下面我们来介绍这种动态创建的方法。
首先打开一个窗口画板。
我们看到该窗口上面有一个数据窗口控件(图9-1)。
图9-1在该数据窗口上面单击鼠标右键,弹出菜单,选择PROPERTIES 属性命令。
弹出这个数据窗口控件的属性对话框(图9-2)。
图9-2我们可以看到DATA WINDOWS OBJECT NAME 一项的内容为空,这说明DW_1这个数据窗口控件的所连接的数据窗口对象为空。
关掉这个对话框。
单击POWER BAR 上面的运行画板按钮,运行这个程序,我们看到该数据窗口上面并没有任何的显示(图9-3)。
关闭这个程序,回到POWER BUILDER 的窗口工作区。
在窗口上面单击鼠标右键,弹出菜单。
在菜单上选择SCRIPT命令,为该窗口的打开事件编写程序。
输入这样一段脚本:STRING SYNTAX,SQLSTR,ERRMSGSQLSTR = "SELECT ,SOCCER.AGE,SOCCER.CLUB,SOCCER.NATION"&+" FROM SOCCER"CONNECT USING SQLCA;SYNTAX = SQLCA.SYNTAXFROMSQL(SQLSTR,"STYLE(TYPE=GRID)", ERRMSG)dw_1.CREATE(SYNTAX, ERRMSG)这段程序的意思是把SPSTAR 这个表中的关于足球明星的内容显示在DW_1 这个数据窗口控件上面。
关闭窗口画板工作区。
单击POWER BAR上的运行按钮,执行这个程序。
我们看到数据窗口中显示了我们需要的信息(图9-4)。
图9-43 动态更新数据窗口数据窗口中的内容可以根据用户的需要动态的修改。
下面,就给您一个例子。
我们在窗口上布置一个新的按钮——“更改”。
在新的按钮上面单击鼠标右键,弹出菜单。
在菜单上选择PROPERTIES 命令,弹出这个按钮的属性定义对话框。
将按钮上面的文本设置为“更改”,单击OK按钮,确认修改。
如图8-5。
图9-5在按钮上面再次单击鼠标右键,弹出菜单,在菜单上面选择SCRIPT命令,开始为这个按钮的CLICKED单击事件编写脚本。
我们输入这样一段脚本。
STRING SYNTAX,SQLSTR,ERRMSGSQLSTR = "SELECT ,TENNIS.AGE,TENNIS.CLUB,TENNIS.NATION"& +" FROM TENNIS"CONNECT USING SQLCA;SYNTAX = SQLCA.SYNTAXFROMSQL(SQLSTR,"STYLE(TYPE=GRID)", ERRMSG)dw_1.CREATE(SYNTAX, ERRMSG)dw_1.SetTransObject(SQLCA)dw_1.RETRIEVE()这段脚本的意思是将DW_1这个数据窗口的显示内容从足球明星更改为网球明星。
请注意最后的这两行脚本。
当我们创建新的数据窗口对象的时候,已经断开了数据窗口控件与事物对象的连接,所以当我们调用CREATE函数之后,还要再次调用SETTRANSOBJECT来重新建立相应的连接。
关闭窗口画板的工作区。
单击POWER BAR 上面的运行按钮,运行这个程序。
现在数据窗口中的内容是足球明星的名字。
如图9-6。
图9-6下面我们单击“更改”按钮,我们看到窗口中的内容已经更改为网球明星的名字了。
如图9-7。
图9-74 提供查询模式在很多时候用户都希望能够自己设置检索条件来进行数据库的查询工作,所以为用户提供模式查询功能是一个常见而重要的工作。
下面我们就介绍如何实现这个功能。
我们打开一个预先定制好的窗口。
如图5。
在“查询模式”按钮上面单击鼠标右键,弹出菜单,选择SCRIPT 命令,为这一按钮的单击事件编写程序。
输入下面这段脚本:dw_1.Modify("datawindow.querymode = yes")这行脚本的意思是将数据窗口的查询模式设置为允许。
关闭这个窗口。
在“开始查询” 按钮上面单击鼠标右键,弹出菜单,选择SCRIPT 命令,为这一按钮的单击事件编写程序。
输入下面这段脚本:dw_1.Retrieve()dw_1.Modify("datawindow.querymode = no")这行脚本的意思是命令数据窗口按照用户输入的检索条件进行查询。
并且关闭查询模式。
关闭这个窗口。
关闭窗口画板工作区,然后单击POWER BAR 上面的运行按钮,运行这个程序。
我们看到数据窗口上面显示了数据库中存储的所有足球明星的资料。
如图9-8。
图9-8下面我们单击窗口上的查询模式按钮,数据窗口上面的所有数据被清空。