PowerBuilder知识材料学习资料.doc
《PowerBuilder知识材料学习资料.doc》由会员分享,可在线阅读,更多相关《PowerBuilder知识材料学习资料.doc(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本文档分为两个部分,(完全是分开的两部-没关联)第一部分: PB书本自学类容一:标识符:标识符是程序中用来代表变量,标号,函数,窗口,控件,对象等名称的符号。标识符必须是下划线或者字母开头,标识符的非开头字符可以是字母,数字或者5中特殊符号(-,_,#,%,$)标识符不区分大小写标识符的书写应保持连续,中间不能留空格。标识符的最大长度应该控制在100个字符内。保留字不能用作标识符,因为它们已经有特殊的含义。Asdf_dfdfDffds-adfDfsdf_adfDfa#dfAsdf%fggDff$fsdfThis /误用保留字二:ASCLL码字符:字符串中可以包括特殊的ascll码字符,它们不能
2、使用常规的的输入方法直接输入,要使用其他字符来替代。新行:n 制表:t 双引号:” 单引号: 等等三:代词:日常生活中可以用你,我,他之类的代词来指代特定的人物,PowerBuilder也提供了几个代词指定特定的对象。4个代词分别是:this parent parentwindow super 其中前3个广泛使用。1.This: 代表窗口,用户对象,菜单,应用对象或控件本身,即代表正在为之编写事件处理程序的对象。示例;设窗口有一个名称为cb_button的按钮,其上显示的文本是请单击在该按钮的clicked事件中可以添加如下代码:This.text= 再单机一次 :语句执行后把请单击改成了再单
3、机一次不用代词语句:cb_button.text= 再单机一次2.parent: 代表当前控件所在的窗口对象如上述例子:parent.text= 再单机一次 3Parentwindow 代表程序运行时当前菜单 所在的窗口对象,注意:改代词只能在菜单对象的事件处理程序中使用。例子:假设cb_button窗口关联了一个菜单对象,该菜单中的关闭命令用于关闭窗口cb_button,我们可以在该菜单项的clicked事件中添加如下代码:/关闭关联窗口Close (parentwindow) /等同于Close(cb_button)Super :在编写空间或对象的子对象时,子对象中可以调用父对象的事件处理
4、程序,程序中的既可直接利用父对象名称调用他们,也可以使用super代词来应用。四:对象,属性,函数和事件的应用方法。Powerbuilder应用程序的开发过程实际上就是对各种对象的定义和使用过程。所有对象都有名称,并通过名称相互区分。在powerscript中,访问对象的属性,函数,事件的方法很简单,就是使用圆点(.)作为标记符。(1) 访问对象属性的格式为:对象名.对象属性列4.1:把单行编辑框sle_name 的用户输入内容送入字符串变量userenter 的语句可以写成:Userenter= sle_name.text (2)访问对象的函数与事件的格式为:Objectname. type
5、 calltype when functionname (argumentlist)l objectname:对象名l type: 取值为function 或 event ,用于指明访问函数还是事件,默认值是function。l calltype: 用于指明查找函数的时机,有效取值为:static(默认值),编译时查找函数,若不存在,产生编译错误;dynamic,程序运行时查找函数,若不存在,产生运行错误。l when: 用于指明函数或事件是立即执行还是当前程序段执行完毕后执行,取值为 TRIGGER(默认值),立即执行;POST,当前程序段执行完毕后执行。l Functionname:指明调
6、用的函数或事件名称。l Argumentlist: 给出函数或事件的参数。例4.2:对象函数和事件的调用示例。代码如下/想把输入焦点移动到单行编辑框sle_name上,程序中的代码是Sle_name.setfocus()/想立即执行按钮cb_name的单击事件处理器,那么编写代码Cb_name.event trigger clicked五:保留字保留字是powerbuilder内部使用的一组单词,有着特殊的含义,不能再把他们用作标识符。如果应用程序误把保留字用作了标识符,那么powerbuilder将给出编译错误。 在powerbuilder中保留字一般显示为绿色。六:数据类型Powerbui
7、lder的数据类型十分丰富,主要包括:标准数据类型,any 数据类型,系统对象数据类型和枚举类型,共4大类。程序中通过数据类型限定变量的取值范围。在powerscript中,我们使用数据类型来声明变量或数组。1标准数据类型:Blob 二进制大对象,用于存储大量数据,例如图像.大文本等。Boolean 布尔型,true 或falseCharacter/char 单个ASCLL字符Date 日期,包括年(1000-3000)月(01-12) 日(01-31)Datetime 日期及时间,仅用于访问数据库的datetime型数据Decimal/dec 带符号十进制数,最大18位精度。Double I
8、nteger/int 16位带符号整数,范围从-2147483648 到 +2147483648RealString 字符串类型,用于任意的ASCLL字符,比如计算机abcUnsignedinteger 16位无符号整数,范围0-65535Unsignedlong 32位无符号整数,范围0-42949762952.常量的申明在编写代码时,对应用程序不应该修改的数据声明成常量是个好办法:一来提高了程序的可读性和可维护能力,二来避免了意外的修改,降低了编码出错的概率。声明常量使用 constant,其简单语法为:Constent 数据类型.常量名= 常量值3.变量的作用域:作用域是指用户定义的变量
9、在什么范围内有效。Powerbuilder的变量作用域共有4种:全局变量,实例变量,共享变量和局部变量。*全局变量:在整个应用程序中都可以访问,他的作用域是整个应用程序*实例变量:实例变量和对象相关联,只有在该对象的事件处理程序或函数中才能使用为该对象定义的实例变量。实例变量在它所关联的对象打开时创建,被关闭时消失。*共享变量:共享变量是一种静态变量,这不仅意味着它所在的对象关闭后如果再次打开时,共享变量依然保持对象关闭时的值,还意味着同一个类的多个实例中的同名共享变量将保持相同的值。*局部变量:局部变量在使用它的事件处理程序或函数中声明,其作用域仅限于声明它的程序段,在该程序段的任何地方均可
10、访问局部变量,但其他程序段都不能访问本程序段中的局部变量。运行程序后,进入某个程序段时,系统自动为局部变量分配内存,退出程序时,局部变量占用的内存被释放。4.变量的默认值变量类型 默认值 Blob 长度为0,空的二进制大对象Boolean falseChar ascll码0Date 1900-01-01Datetime 1900-01-01 00:00:00数值类型* 0String 空字符串(“”)Time 00:00:00七:运算符1算术运算符算术运算符用于完成数学运算+ - - * / + - += -= *= /= =2.关系运算符关系运算符用于比较两个操作符,比较的结果为下述3个值之
11、一(true , false, null )= = =在进行运算符比较时,应注意到这些运算符进行的比较是区分大小些的比较,也就是说Aa。需要时可使用powerscrpt的字符串操作函数进行适当的转换,这类函数包括:Upper() 转换成大写Lower() 转换成小写Righttrim() 删除右部空白Lefttrim() 删除左部空白Trim() 删除两端空白3逻辑运算符 Not and or 4连接运算符连接运算符只有一个,那就是+,用于把两个string型或blob型变量的内容连接在一起,形成新的字符串或blob型数据。4.1例:string testtest =北京 + 上海 /test
12、中包含“北京上海”5.基本语句 Powerscript的基本语句主要包括赋值语句,条件语句,循环语句。5.1赋值语句:用于给变量或对象赋值,使用最频繁的语句。其中语法格式为:Variablename (变量名或对象名) = expression(是表达式,其数据类型应该与variablename的数据类型兼容)5.2 条件语句: 共有if语句和 choose case 语句 两类条件语句。If语句计算一个逻辑表达式,然后根据表达式的值是真还是假决定下一步执行的语句块。 Choose case 语句可同时处理多种情况。(1)if 语句,if语句有两种形式。一单行 ifthen 语句,格式为:If
13、 cond then action1 else action2其中cond 是个表达条件的逻辑表达式;action1,action2 是一条语句;大括号表示该部分可以根据需要选择。(2) choose case 语句5.3循环语句:powerscript 的循环语句有3种形式:doloop , fornext, 和 goto。如果合理的将前两种形式与exit 和 continue语句配合使用,完全可以抛弃goto 语句。而且 do loop 结构本身又有4中形式,丰富多彩的表达方式为我们编写清晰流畅的程序提供了有效的手段。(1)do loop 循环语句,4种形式:* Do until cond
14、ition loop* do while condition loop *do .loop until condition *do loop while condition其中do标示循环的开始;loop 表示循环的结束;condition表示循环条件,是个逻辑表达式,其值为true或false。( 2 )fornext :fornext是个循环次数确定的循环结构,她使循环体内的语句执行规定的次数,语法结构为: for varname = start to end step increment statementblock next其中varname是循环变量,可以使是任意的数字类型;star
15、t end 分别是循环变量的初值和终值;increment是每次循环后循环变量的步长增量(默认值为1);statementblock 是一组语句,成为循环语体,大括号表示此语句可以省略。其循环过程为: 虚幻变量varname 从start 开始,到end 为止,重复执行循环体,每执行一次,varname+increment。另外 ,如果start 和end 在循环体内被修改,将影响循环次数。(3) goto 语句goto语句将控制跳转到程序中的其他位置,用goto语句也可以构成循环。其语法格式为:goto label 其中label是语句标号,它使用标识符的命令规则。(4) exit (退出循
16、环)语句在doloop和for.next语句的循环体中,当我们想在中途退出循环时,可以使用exit语句,执行该语句后,程序的控制权转至循环语句后的语句。(5) continue(继续循环)语句在循环体中,遇到continue语句后,将不执行continue语句后与循环结束前的所有语句,而是开始新一轮循环。常用事件Open 事件:打开窗口时触发Close 事件:关闭窗口时触发。Closequery 事件:在开始关闭窗口时触发。Dragdrop 事件:当在窗口客户区 释放拖动对象时发生。Resize 事件:当窗口大小发生变化时产生,窗口被打开时也产生该事件。常用函数Powerbuilder 窗口对
17、象比较常用的函数如下:1.ArrangeSheets() 功能:按指定方式排列mdi框架窗口中的工作窗口(子窗口)或图标。语法:mdiframe.arrangesheets(arrangetype)2. getactivesheet()功能:得到指定mdi框架窗口中当前活动工作表。语法:mdiframewindow.getactivesheet()3.getparent功能:返回父窗口的名称语法: windowname.Getparent()4.hide()功能:隐藏窗口语法: windowname.hide()5.print功能:打印窗口语法:windowname.print()6.setf
18、ocus()功能:将焦点设置在该窗口上。语法:windowname.setfocus()7.show()功能:显示窗口语法:windowname.show()与窗口相关的函数1.Open()功能:打开窗口。该函数有两种语法格式:格式一:打开编程时已知数据类型的窗口对象。格式二:打开程序运行后才能确定数据类型的窗口对象。语法一:Open(windowvar,parent)语法二:Open(windowvar,windowtype,parent)2 Openwithparm()功能:带参数打开窗口,与Open()函数相似。区别在于 openwithparm()函数可以向打开的窗口对象传递参数。语法
19、一:openwithparm(windowvar,parameter,parent)二openwithparm(windowvar,parameter,windowtype,parent)3 opensheet()功能:在mdi框架窗口中打开mdi子窗口,并在指定菜单中创建该子窗口的相关菜单项。语法:4 opensheetwithparm()功能:在Mdi框架窗口中带参数打开mdi子窗口。与opensheet()函数相似。区别在于opensheetwithparm()函数可以向打开的窗口对象传递参数。语法:5 close()功能:关闭窗口并释放窗口以及窗口上的控件所占据的内存。语法: Clos
20、e(windowname)6 CloseWithReturn()功能:关闭窗口,与close()函数相似。区别在于closewithreturn()函数在关闭窗口时将返回值保存在message对象中。PB中实例化(用isvalid判断)的作用是什么?比如:if not isvalid(myo_apprun) thenmyo_apprun = create my_apprunend if如果不写它会有什么后果?不写可能会报错,使用isvalid来判断对象是否成功被创建,如果未被成功创建就去使用的话会抛出异常,程序不能正常运行。Upper()编辑Upper()功能将字符串中的小写字母转换为大写字母
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- powerbuilder 知识 材料 学习 资料
限制150内