powerbuilder使用简介
- 格式:ppt
- 大小:1.23 MB
- 文档页数:31
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)注意当数据库中的数据不为字符串型时要先转换类型后才能赋给数据窗口的相应字段,如第二句。
PB培训教程(提高篇)一、引言随着我国经济的快速发展,企业对人才的需求日益增长,专业技能培训成为了提升员工素质的重要途径。
PB(PowerBuilder)作为一款优秀的客户端/服务器应用程序开发工具,具有强大的数据处理能力和灵活的界面设计功能,广泛应用于企业级应用开发。
为了帮助广大PB爱好者提高开发技能,本教程将从实战角度出发,详细讲解PB的高级应用技巧。
二、PB开发环境介绍1.PB简介PowerBuilder(简称PB)是美国Sybase公司推出的一款客户端/服务器应用程序开发工具。
它采用面向对象的编程思想,支持多种数据库,具有强大的数据处理能力和灵活的界面设计功能。
PB在我国的企业级应用开发领域具有广泛的应用。
2.PB开发环境搭建(1)安装PB开发工具:并安装PB开发工具,根据提示完成安装过程。
(2)配置数据库连接:安装并配置数据库软件(如Oracle、SQLServer等),建立数据库连接。
(3)创建PB项目:在PB开发环境中创建新项目,配置项目属性,为后续开发做好准备。
三、PB高级应用技巧1.数据窗口应用(1)数据窗口简介:数据窗口是PB中用于数据显示和编辑的重要组件,具有强大的数据处理能力。
(2)数据窗口设计:掌握数据窗口的设计方法,包括数据源设置、列属性设置、样式设置等。
(3)数据窗口事件处理:了解数据窗口的事件处理机制,掌握常见事件(如Click、DoubleClick等)的编写方法。
(4)数据窗口与数据库交互:学习如何使用数据窗口进行数据的增、删、改、查操作。
2.PB与Web技术结合(1)Web开发简介:了解Web开发的基本概念,掌握、CSS、JavaScript等基本技术。
(2)PBWeb应用程序:学习如何使用PBWeb应用程序,包括Web数据窗口的使用、Web事件处理等。
(3)PB与WebService交互:掌握PB调用WebService的方法,实现PB与WebService的数据交互。
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教程
PowerBuilder是一种用于开发客户端/服务器和Web应用程序
的集成开发环境(IDE)。
它具有易于使用的可视化设计工具
和强大的开发功能,适用于数据库应用程序的快速开发和维护。
PowerBuilder的开发过程主要包含以下几个步骤:
1. 创建新的应用程序:在PowerBuilder中,可以选择新建应
用程序,然后配置数据库连接等信息。
2. 创建数据窗口:数据窗口是PowerBuilder中最重要的界面
元素之一,用于显示数据库中的数据。
可以通过拖放方式将数据库表或查询结果添加到数据窗口中,然后设计数据窗口的布局和样式。
3. 编写业务逻辑:可以使用PowerScript编程语言来编写数据
窗口和应用程序的逻辑。
PowerScript是一种类似于其他编程
语言的脚本语言,可以用于处理用户交互、数据库操作、错误处理等。
4. 调试和测试:在开发过程中,可以使用PowerBuilder提供
的调试工具来调试和测试应用程序。
可以设置断点、监视变量的值,并逐步执行代码以检查程序的运行情况。
5. 部署和发布:完成开发和测试后,可以将应用程序部署到目标环境中。
PowerBuilder支持将应用程序打包成可执行文件或
安装程序,以便用户在其计算机上安装和运行应用程序。
总之,通过PowerBuilder的可视化设计工具和强大的开发功能,开发人员可以快速构建数据库应用程序,并实现复杂的业务逻辑。
它是一种非常适合开发数据驱动应用程序的开发工具。
Powerbuilder(pb)简介对于一些传统的数据开发人员来说,Foxpro系列也许让他们感到更加熟悉。
但是对于初学者来说,PowerBuilder也许是最好的数据库开发工具。
各种各样的控件,功能强大的PowerBuilder语言都会帮助你开发出自己的数据库应用程序。
PowerBuilder开发环境由一系列集成的图形画板(Painter)组成,应用开发人员通过简单的鼠标操作即可设计、建立、交互检验和测试客户/服务器应用程序。
PowerBuilder特点:它支持应用系统同时访问多种数据库,其中既包括Oracle,Sybase之类的大型数据库,又包括FOXPRO之类支持ODBC接口的小型数据库,PowerBuilder是完全可视化的数据库开发工具,它提供了大量的控件,大大加快了项目的开发速度,也使开发者更容易掌握数据库的开发。
它使用的编程语言叫做工PowerScripr,它也是一种高级的,结构化的编程语言。
PowerScript提供了一套完整的嵌入式SQL语句,开发人员可以像使用其它语句一样自由地使用SQL语言,这样就大大增强了程序操纵和访问数据库的能力。
可以说PowerBuilder 既适合初学者快速学习数据库的开发,又可以让有经验的开发人员开发出功能强大的数据库,是一种适用面非常广的开发工具。
PowerBuilder是一个用来进行客户/服务器开发的完全的可视化开发环境。
使用PowerBuilder,你可以用一种可视的直观的方式来创建应用程序的用户界面和数据库接口。
这是一个总的概念,实际上是开发人员使用PowerBuilder去开发应用程序,由于所开发的各种应用程序充分利用了图形用户接口(GUI)的优点,所以PowerBuilder被认为是一个图形工具。
在客户/服务器结构的应用中,PowerBuilder具有描述多个数据库连接与检索的能力。
特别是PowerBuilder能从大多数流行的RDBMS中存取数据,且不管数据存放在什么地方;另外,各种应用程序又可以独立于RDBMS,因为PowerBuilder可以使用数据库的标准操作语言SQL(结构化查询语言)进行。
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的应⽤能⼒,并提供了更加⾼效的数据窗⼝对象。
powerbuilder的各类操作1.关闭Form窗体:Close(Parent);2.打开Form窗体:Open(w_main);3.Form窗体分类:1)Main(主窗口)主窗口是窗口对象的标准类型.它可以覆盖其他窗口,也可以被其他窗口所覆盖.主窗口是一种独立的窗口,不依赖于其他任何窗口,即其可以单独打开和关闭.主窗口一般用于应用程序的主界面,或者MDI应用程序的工作表窗口.当创建一个新窗口时,其缺省的窗口类型即为主窗口.2)Child(子窗口)子窗口不能独立存在,必须从作为其父窗口的主窗口或弹出式窗口中打开,打开的位置相对于其父窗口而不是整个屏幕.子窗口仅可以在其父窗口内移动,当其一部分移出父窗口时,不显示该部分.3)MDI Frame(多文档界面框架窗口)4)MDI Frame with MicroHelp(带微帮助的多文档界面框架窗口)5)Popup(弹出式窗口)弹出式窗口从其父窗口或应用程序的Open事件中打开,并随父窗口关闭.弹出式窗口可以移到其父窗口的外面,但不能被父窗口覆盖.6)Response(响应式窗口)响应式窗口由其父窗口激活,一般要求用户输入信息.当其打开时,成为活动窗口.此时只有用户响应后方可关闭.否则不能切换到应用程序的其他窗口.4.数据窗口的使用:在窗体的Open事件中加入:connect;dw_1.settransobject(sqlca)dw_1.retrieve()注:1)connect;该行语句表示使用PB缺省的对象SQLCA连接数据库.2)dw_1.settransobject(sqlca)该行语句为dw_1数据控件指明数据窗口对象,应当从SQLCA事物对象中获取数据库的有关信息.3)dw_1.retrieve()该行语句指定数据窗口对象要获取数据,应当执行创建数据窗口对象时所定义的SELECT语句.5.在定义数据控件中的SELECT语句时,在WHERE中用到参数时:(步骤如下)1)在主窗口的"Design"下拉菜单中选择"Retrieval Arguments"选项,显示"Specify Retrival Arguments"对话框;2)在WHERE子句中使用上面定义的获取参数获取特定的记录,定义WHERE子句的步骤如:一.激活WHERE子句窗口;二.在Value项中输入参数名.注意在该参数前必须有一个":".冒号表明这是一个变量,可以在SQL语句中使用.三.在程序运行时,可对该参数动态赋值:connect;dw_1.settransobject(sqlca);dw_1.retrieve(参数名);6.数据控件的增删改查基本操作:1)增加记录:dw_1.Reset();//清除数据窗口dw_1dw_1.InsertRow(0);//在数据窗口中添加新的一行记录2)删除记录:dw_1.DeleteRow(0);//删除当前行3)更新记录:if dw_1.update()=1 thenCOMMIT;ElseROLLBACK;End if7.菜单编项中关闭:Close(ParentWindow);8.创建应用程序的可执行文件:(步骤)1)单击主窗口中工具栏的"NEW"按钮,打开"NEW"对话框,选择其中的"Project"(工程)选项卡.2)选择"Application"图标,单击"OK"按钮,打开"Project"画板.3)在"Executable File Name:"编辑框中键入可执行文件的名称,或者单击该编辑框右边的浏览按钮,选择保存可执行文件的路径.4)选择"Prompt For Overwrite"复选框和"Machine Code" 复选框.5)单击主窗口工具栏的"Build"(创建)按钮,或者选择"Design"菜单中的"Build Project"选项,创建可执行文件.9.游标的使用:string id,name//定义变量DECLARE idAndName CURSOR FOR//声明游标SELECT DISTINCT id,namefrom userORDER BY id asc;OPEN idAndName;//打开游标do//循环取值fetch idAndName into:id,:name;lb_1.additem(trim(id)+"|"+trim(name))loop while sqlca.sqlcode=0;close idAndName;10.子数据控件的运行:datawindowchild dw_child//定义子数据窗口dw_1.getchild("dw_1",dw_child)//获取子数据窗口connect;dw_child.settransobject(sqlca)//运行子数据窗口dw_child.retrieve(参数列表)11.数据控件中控件的赋值:dw_1.object.t_1.text="您好"//给数据控件中标签赋值12.显示打印机选项:printsetup()13.事务对象:是一个不可视的对象,驻留在内存中.事务对象包含了与数据库连接所必需的相关属性参数.在操纵数据库时,填写连接时所需的信息到该对象中,才可工作.当操作结束后,显示其返回值.1)缺省事务对象SQLCA:SQLCA(SQL Communication Area)即SQL通信区.SQLCA是不全局变量,可以在应用程序的任何事件中使用.应用程序开始运行时,SQLCA被自动创建.如果只用到一个事务对象,则可直接使用SQLCA.如果连接多个数据库,则需创建自己的事务对象.创建事务对象:Transaction First_transFirst_trans=Create Transaction注:使用事务对象后,应在脚本中删除该对象.Destroy First_trans但:不必删除SQLCA对象,因为它是PB自动完成的.2)事务对象的属性:其属性共有15项,可分为两组,第1组用于设置数据库连接参数,包括DBMS,连接的数据库,服务器名等;第2组用于返回给用户的信息,如有关数据库的状态,执行命令等.第1组属性中:一.AutoCommit:布尔值,用于指定是否自动提交(Commit).当该值为True时,则每次操作数据库后自动提交,其缺省值为False.二.Database:字符串型,当前事务对象所连接的数据库名.三.DBMS:字符串型,当前PB所使用的数据库管理系统名,如Oracle,Sybase等.四.DBParm:字符串型,DBMS所需的特定的连接参数.五.DBPass:字符串型,连接数据库时所需的口令.六.Lock:字符串型,数据库的隔离级别.七.LogID:字符串型,用户登陆到数据库服务器的用户ID.八.LogPass:字符串型,用户登录到数据库服务器所需的口令.九.ServerName:字符串型,数据库服务器名.十.UserID:字符串型,连接到数据库所需的用户名.第2组为返回信息参数,其中:一.SQLCode:长整型,返回用于判断SQL命令是否执行成功的代码:0:表示操作成功.-1:表示操作失败.100:表示没有出错,但未检索到可用数据.二.SQLRows:长整型,返回受前面的SQL命令影响的行数.三.SQLDBCode:长整型,返回数据库连接的错误代码.不同的DBMS返回的代码不同.四.SQLErrText:字符串型,返回数据库连接的错误信息,该信息与SQLDBCode错误码相对应.五.SQLReturnData:字符串型,返回DBMS指定的其他信息.3)设置属性:一.人工设置:SQLCA.DBMS="ODBC"SQLCA.Database="MyDB"SQLCA.LogID="HCS"SQLCA.LogPass="MyPassWord"SQLCA.ServerName="Sea"SQLCA.AutoCommit=False二.使用函数设置:可以使用ProfileString()函数从系统的.INI文件中提取有关属性信息,将其赋值给事务对象.ProfileString()函数的语法规则如下:ProfileString(file,section,key,default)其中:file:指定文件名.section:指定文件中某一节.key:相应节的变量.default:当所取值为空时,将该缺省值赋给相应的事务对象.在PB.INI文件中的Database节中保存了上次应用程序与数据库连接时的连接属性.下例从PB.INI文件中读取应用程序在上次数据库连接时所用的事务对象属性值.SQLCA.DBMS=ProfileString("PB.INI","Database","DBMS","") SQLCA.Database=ProfileString("PB.INI","Database","Databas e","")SQLCA.LogID=ProfileString("PB.INI","Database","LogID","")SQLCA.LogPass=ProfileString("PB.INI","Database","LogPass", "")SQLCA.ServerName=ProfileString("PB.INI","Database","Serv erName","")/doc/6c15778729.html,erID=ProfileString(" PB.INI","Database","UserId","")SQLCA.DBPass=ProfileString("PB.INI","Database","DBPass"," ")SQLCA.Lock=ProfileString("PB.INI","Database","Lock","")SQLCA.DbParm=ProfileString("PB.INI","Database","DbParm", "")14.连接数据库:1)建立连接:连接数据库使用内嵌的SQL的CONNECT命令,其语法格式为:connect(using TransactionObject);因为CONNECT是SQL语句,所以在其结尾处要加一个分号,以示区别.参数"USING TranscationObject"是可选项,如果未指定使用的事务对象,PB认为使用的是缺省的事务对象SQLCA.一般情况下,即使使用SQLCA事务对象,也应该在脚本中使用USING子句,以便于阅读.如:CONNECT USING SQLCAT该语句连接数据库,如下语句通过SQLCA的返回参数SQLCode的值判断连接是否成功.如果返回小于0,则为失败,并显示错误信息,然后使用Halt命令停止程序执行.If SQLCA.SQLCode<0 thenMessageBox("Fail","Can`t Connect Database.")HaltEnd if2)断开连接:在访问数据库任务结束以后,应及时断开与数据库的连接,为此使用如下SQL语句:Disconnect Using SQLCA;if SQLCA.SQLCode<0 thenMessageBox("Fail","Can`t Disconnect Database")HaltEnd if3)分配事务对象:创建事务对象并与数据库连接之后,要使数据窗口控件可以访问数据库,还应当将该事务对象分配给数据窗口控件,为此使用SetTransObject函数,该函数的调用格式为:dw_1.SetTransObject(Transaction)其中:dw_1:数据窗口控件名.Transaction:缺省或用户定义的事务对象名.该函数返回一个整型值,若调用成功,则返回1;若调用失败,则返回-1.例:Integer Tr_1Tr_1=dw_1.SetTransObject(SQLCA)15.缓冲区和可编辑控件函数1)缓冲区一.Primary Buffer(主缓冲区)保存显示在数据窗口控件中的所有数据行以及数据行和各个列的状态信息.当调用数据检索函数Retrieve()检索数据时,检索到的数据保存在Primary Buffer中.当插入数据时,插入的数据也保存在其中.二.Delete Buffer(删除缓冲区)保存被删除的数据行.当调用DeleteRow()函数删除数据行时,被删除的数据行Primary Buffer 保存到Delete Buffer.三.Filter Buffer(过滤缓冲区)Filter Buffer用于保存被过滤的数据行.执行数据过滤命令后,被过滤掉的数据行保存到Filter Buffer中.四.Original Buffer(原始缓冲区)保存数据窗口从数据库中检查的原始数据.在应用程序中可以调用数据窗口控件函数访问指定的缓冲区.调用如下语句可以引用Delete Buffer:String del_sexdel_sex=dw_1.GetItem(8,"sex",Delete!)执行上述语句后,从Delete Buffer中提取第8行数据的Sex列的内容,将其赋值给定符串变量del_sex.16.数据窗品控件可编辑控件的一些函数:1)GetText()获取可编辑控件中的数据.2)AcceptText()在数据窗口控件的LoseFocus事件中使用,其功能是检验可编辑控件中的文本数据后存入当前缓冲区.3)SetText()设置当前可编辑控件中的文本.17.数据窗口控件的一些函数1)Retrieve()函数从数据库中检索数据并将其保存到数据窗口控件中显示,其调用格式如下:dw_1.Retrieve({,参数1,参数2...})Retrieve()函数常用于在连接数据库之后检索数据库中的数据,并将其显示在数据窗口中.例:... ...If SQLCA.SQLCode<0 thenMessageBox("失败","无法连接数据库")HaltEnd ifInteger retri_1retri_1=dw_1.SetTransObject(SQLCA)dw_1.Retrieve()如果调用Retrieve()函数成功,则返回检索显示的记录行数,即主缓冲区中的数据行数;否则返回值为-1.2)Update()函数将数据窗口控件中数据的变化保存到数据库中,调用格式如下:dw_1.Update({accept{,resetflag}})其中参数accept是一个布尔值型的值.当取值为True时,表示在执行数据库更新之前调用函数AcceptT ext().参数resetflag也是布尔型的值.确定更新数据库操作后是否自动重置编辑状态标记.如果该函数调用成功,则返回值为1;否则返回值为-1.例:integer upda_1upda_1=dw_1.Update()If upda_1=1 thenCOMMIT;ELSEMessageBox("出现错误","无法保存数据库")ROLLBACK;End if在上例中,首先调用Update()函数,然后检查其返回值.若返回值为1,则表示该函数调用成功,进一步调用COMMIT命令执行数据库的更新操作;否则执行ROLLBACK命令,取消Update()函数的结果,并显示错误信息,通知用户.由于COMMIT和ROLLBACK命令都是SQL命令,所以在执行后还可以通过检查SQLCode的值判断是否执行成功.3)InsertRow()函数在数据窗口的主缓冲区中插入一行空记录,格式如下:dw_1.InsertRow(row)其中参数row表示插入行前面一行的行号.当row的值为0时,则在数据窗口的最后一行插入一行空记录.例:dw_1.InsertRow(5)表示在数据窗口的第6行插入一空行记录.4)DeleteRow()函数在数据窗口的主缓冲区中删除一行记录,并将该行记录移到删除缓冲区中.调用Update()函数之后,被删除的行才从数据库中实际删除.格式如下:dw_1.DeleteRow(row)参数row表示删除行的行号,为0时,表示要删除当前行.例:dw_1.DeleteRow(3)表示在数据窗口中删除第3行.5)ScrolltoRow()函数将当前行改变到参数row指定的行号.格式:dw_1.ScrolltoRow(row)例:dw_1.ScrolltoRow(7)将数据窗口的当前行改变到第7行.6)GetRow()函数返回当前行号,格式:dw_1.GetRow()7)GetColumn()函数返回当前列号,格式:dw_1.GetColumn()8)GetItem()函数从指定的行,列中提取数据.对于行,列不同数据类型,都有一个相应类型的GetItem()函数完成相应的功能,如GetItemDate(),GetItemnumber(),GetItemString()等.以GetItemDate()函数为例,其格式:dw_1.GetItemDate(row,column)其中参数row,column分别为行,列号,也可以为行,列名的字符串.如:String txlu_nameNumber txlu_numbertxlu_name=GetItemString(8,"Name")txlu_number=GetItemNumber(4,"Number")9)SetItem()函数为数据窗口中指定的行,列的字段赋值,格式:dw_1.SetItem(row,column,value)其中参数row,column分别为行,列号,也可以为行,列的字符串.10)SetSort()函数与Sort()函数排序当前数据窗口中的数据,前者用于指定排序的列及排序标准,而后者执行排序操作.SetSort()函数的格式:dw_1.SetSort(format)其中参数format是用于表示排序标准的字符串,它可以引用列名和排序标准.列名必须放在单引号内,而排序标准用字母A和D表示,其中A表示升序,D表示降序.例:dw_1.SetSort("'txlu_id'A")dw_1.Sort()11)SetFilter()函数与Filter()函数过滤数据窗口的数据,前一个函数用于指定过滤标准,而后一个函数执行过滤操作.SetFilter()函数的格式:dw_1.SetFilter(format)其中参数format用于指定过滤条件表达式,例:dw_1.SetFilter("emp_number>45 or emp_sex='F'")dw_1.Filter()上述代码过滤出编号大于45,以及性别为女的人员.。
powerbuilder语法PowerBuilder是一种快速应用程序开发工具,主要用于Windows 平台。
本文将介绍PowerBuilder的一些基本语法,帮助初学者快速入门。
1. 变量声明在PowerBuilder中,变量声明的语法类似于其他编程语言。
例如:integer astring sdecimal d这里声明了一个整型变量a,一个字符串变量s和一个小数变量d。
2. 数据类型PowerBuilder支持多种数据类型,包括整型、小数、布尔型、字符串等等。
以下是PowerBuilder支持的一些数据类型:- integer:整型- decimal:小数- boolean:布尔型- string:字符串- date:日期型- time:时间型等等。
3. 控制语句PowerBuilder支持多种控制语句,例如if语句、while语句、for语句等等。
以下是一些示例:- if语句if a > 10 then// do somethingend if- while语句while a > 0 do// do somethinga = a - 1loop- for语句for i = 1 to 10 do// do somethingnext4. 函数和过程PowerBuilder支持函数和过程。
以下是一些示例:- 函数function add(a as integer, b as integer) returns integer return a + bend function- 过程subroutine print(str as string)messageBox(str)end subroutine5. 对象和类PowerBuilder是一种面向对象的语言,支持对象和类的概念。
以下是一些示例:- 对象object o_myObjectstring s_nameinteger i_ageend object- 类global type myClass from nonvisualobjectstring s_nameinteger i_ageend type以上就是PowerBuilder的一些基本语法介绍,希望能帮助初学者快速入门。
这一讲主要介绍相关的一些PowerBuilder的入门知识。
2.1用PowerBuilder开发的基本步骤
用PowerBuilder开发应用系统时,一般都要经过以下各个阶段:系统分析
系统设计
系统开发
代码调试
系统测试
生成EXE
交付应用
2.2PowerBuilder6.0的开发环境
启动PowerBuilder6.0
PowerBuilder的工具栏
应用画笔(Application)
工程画笔(Project)
窗口画笔(Window)
用户对象画笔(User Object)
菜单画笔(Menu)
结构画笔(Structure)
函数画笔(Function)
数据窗口画笔(Data Window)
查询画笔(Query)
数据管道画笔(Pipeline)
ODBC配置画笔(Cofigure ODBC)
数据库连接参数配置画笔(DB Profile)
表操作画笔(Table)
数据库画笔(DataBase)
对象浏览器画笔(Browser)
库管理画笔(Library)
文本编辑画笔(Edit)
运行画笔(Run)
调试应用画笔(Debug)
运行窗口画笔(Run Window)
退出系统画笔(Exit)
把扩展画笔加到当前开发环境。
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种字体。