PowerScript编程语言.ppt_第1页
PowerScript编程语言.ppt_第2页
PowerScript编程语言.ppt_第3页
PowerScript编程语言.ppt_第4页
PowerScript编程语言.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章 PowerScript编程语言,教学目标 教学重点 教学过程,教学目标,熟悉和掌握PowerBuilder 9.0的基本语法规则 对PowerBuilder 9.0有初步的认识和了解,并能够编写一些简单的小程序,教学重点,标识符命名规则 注释语句 基本控制语句 创建与释放对象实例 嵌入式SQL 常用函数 创建自定义函数和结构,教学过程,语言特点 Script编程视图的使用 语言基础 数据类型与变量说明 操作符 创建与释放对象实例 条件语句 循环语句 返回语句与终止程序运行 嵌入式SQL 常用函数 创建自定义函数和结构,第4章 PowerScript编程语言,4.1 语言特点 PowerScript是一种高级的、结构化的第四代(4GL)编程语言,它的语言成分和大多数编程语言很相似,但与众不同之处在于它提供了一套完整的嵌入式SQL语句,开发人员能够像使用其它语言成分那样使用他们,这就大大增强了程序操纵和访问数据库的能力。 PowerScript的控制语句以及嵌入的SQL语句利用可视化工具可以粘贴到程序当中,而不用逐字从键盘输入,提高了编程效率和输入的正确率。丰富的数据类型和众多的函数进一步提高了PowerBuilder的适应性和灵活性。,4.2Script编程视图的使用,PowerBuilder编写代码的环境称为Script编程视图。 在Script编程视图中,可以进行变量的定义、查看事件及函数列表、对所选择的事件进行编程等工作。在这个编辑器中,不同的语法成分用不同的颜色区分,除了具备复制、剪切、粘贴文本等常用功能外,还可以在PainterBar中选择相应的粘贴功能,可以将PowerBuilder内置函数、自定义函数、外部函数、SQL语句、流控制语句、全局变量、共享变量、当前应用中窗口名、当前的对象名等内容粘贴到程序的插入点位置。,4.2.1编辑代码,1、选择文本 2、删除、剪切、复制、粘贴文本 3、移动文本 4、撤销操作 5、重做 6、查找和替换文本 7、加注释和去掉注释,4.2.2 强大的粘贴功能,1、粘贴函数 2、粘贴流控制语句,4.2.3 编译代码,4.3 语言基础,4.3.1断行、续行与多条语句 回车键换行 续行符:用“&”做为续行符。它使一条语句可以写在两行上,但要注意不能在保留字或变量名中间加续行符。 一行写多条语句,语句间用分号分隔。 4.3.2注释 行注释: / 块注释:/*开始,*/结束。,4.3.3 标识符 标识符是程序中用来代表变量、标号、函数、窗口、控件、菜单、对象等名称的符号。PowerBuilder 9.0中标识符的命名规则如下: (1)必须以字母或下划线开头。 (2)其余字符可以是字母、数字和如下的特殊字符:短横线“-”、下划线“_”、美元符号“$”,号码符号“#”和百分符号“%”。 (3)最长40个字符,且中间不能插入空格。 (4)多数情况下不区分大小写 ,但要注意使用大小写的一致性,便于阅读和维护程序。 (5)保留字不能做标识符。,4.3.4特殊字符 字符串中可以包含特殊的ASCII码字符,它们不能使用常规的输入方法直接输入,需要使用其他字符来代替。常用的特殊字符如下表:,空值(null)是与数据库交换数据时使用的一种特殊值。它代表未定义或是不可知。 变量被赋予空值的途径有两条: (1)从数据库中读到空值。 (2)使用SetNull()函数将变量设置为空值。,4.3.5 空值(null),4.3.6对象、属性、函数和事件的引用方法,访问对象属性的格式为:对象名.对象属性 程序中访问对象函数与事件的格式: objectname. type calltype when functionname(argumentlist) 其中objectname是对象名。 Type取值为FUNCTION或EVENT,用于指明是访问函数还是事件,默认为FUNCTION。 Calltype用于指明PowerBuilder查找函数的时机,有效取值为: STATIC(默认值):编译时查找函数,若不存在,产生编译错误; DYNAMIC:程序运行时查找函数,若不存在,产生运行错误。 When用于指明函数或事件是立即执行还是当前程序段执行完毕后执行,取值为: TRIGGER(默认值):立即执行; POST:当前程序段执行完毕后执行; Functionname指明调用的函数或事件名称; Argumentlist给出函数或事件的参数。,4.3.7 代词,1) This代词 This代词代表窗口、用户对象、菜单、应用对象或控件本身。 2)Parent代词 Parent代词可以用在窗口控件、用户定制的对象、菜单脚本中。 在窗口控件中使用parent时,parent表示包含该控件的窗口。 在菜单项脚本中使用parent,表示当前菜单项的上一级菜单项。 3)ParentWindow代词 ParentWindow代词只能在菜单脚本中使用,它代表运行时菜单所在的窗口 。 4)Super代词 在编写控件或者对象的子对象的程序时,可以调用祖先的程序,用户可以直接使用祖先对象的名称调用它们,也可以使用Super来引用直接双亲。,4.3.8 保留字,保留字是PowerBuilder内部使用的一组单词,有特殊的含义,不能再把他们用作标识符。,4.3.9 事件处理程序的编写环境,4.4 数据类型与变量说明,与其它编程语言类似,PowerScript提供了丰富的数据类型,主要包括标准数据类型、系统对象数据类型、任意数据类型和枚举类型。,4.4.1 标准数据类型,Blob:二进制大对象,用于存储大量数据,例如图像、大文本等。 boolean(布尔型),布尔变量有两个值:true和false,分别表示真和假。创建布尔变量时,其初始值是false。 char或character(字符型),该类型变量用于存储一个ASCII字符。 date(日期型) ,日期包含年、月、日,年月日之间用连接符(-)连接。 Datetime(日期时间型),仅用于访问数据库的Datetime型数据。 Decimal(带符号十进制数),最高精度为18位。 Double(带符号浮点数),15位有效数字,范围从2.2E-308到1.7E+308 。 real(实型) ,精度6位,范围从1.17E-38到3.4E+38,实型变量被创建时的初始值是0 。,integer或int(整型) ,整数的取值范围是从-32768到32767。 Long(长整型),32位带符号整数。 string(字符串型) ,字符串要用引号(单引号或双引号)括起来。字符串变量中可以包含字母、数字或符号,其变量长度在0到65536之间,字符串常量最大长度可达1024。 time(时间型) ,包含小时、分钟、秒,小时、分钟、秒之间用冒号(:)分隔。 UnsignedInteger或Uint(无符号整型),16位无符号整数。 Unsignedlong,32位无符号整数。 还有any类型。,4.4.2 系统对象数据类型,在Pb中,窗口、选单、各种控件都是系统对象,每一种系统对象实际上都是定义在Pb内部的一种数据类型。通常我们不必把这些对象当作数据类型来考虑,而只需要通过工具栏或选单定义他们即可,因为他们都是可视化的对象。 有些情况下,需要动态地处理窗口、选单或控件等系统对象时,就需要定义系统对象数据类型。例如: window mywin/说明窗口变量 可以使用浏览器Browser查看PB所支持的系统对象。,4.4.3 枚举类型,枚举类型是PB定义的特殊常量,常用于对象或控件的属性、系统函数的参数等。但在PowerScript中我们不能定义自己的枚举类型,而只能按系统要求使用它。枚举类型实际上是一组值,每个值都以英文单词开始,以感叹号!结束,例如yesno!。 例如:将单行文本编辑器的对齐方式设置为居中对齐: Sle_1.aligment=Center!,4.4.4 变量的声明,变量(variable)是在程序执行时其值可变的量。 在Pb中,变量在使用前,要先予以说明。系统预定义的5个全局变量除外(SQLCA、SQLDA、SQLSA、Error、Message)。 1.普通变量声明 语法结构: 数据类型 变量名=初值 ,变量名=初值, 其中方括号中的内容是可选项。 变量未赋初值,系统会自动赋给变量默认值。如:数值型变量的默认初值是0。 注意:变量的初值是在编译时给定的。 如: date dd1,dd2=today( ) dd1=today( ) 其中dd1没有被初始化,但dd2被初始化成系统日期。,2.Blob型变量的声明 语法:Blob大小 变量名 “大小”指明Blob变量以字节为单位的长度,默认该项时,默认长度为0,且系统会根据实际数据自动调整其长度。例如: Blob100 ib_Emp_picture/声明一个长度为100字节的blob性实例变量 Blob变量不能赋初值。 3.Dec变量的声明 语法:dec精度 变量名=初值 其中精度是整数,指定小数点后的数字位数,若未指定,则以赋值时给定的精度为准。例如: Dec4 lc_rate1/声明小数点后4位数字的变量,4.4.5 变量数组,数组代表一系列具有相同类型的变量,他们用一个变量名,通过下标访问数组中的每个元素。例如: Integer person30/声明整型数组person,他有30个元素,下标从1到30 Integer num3 to 10/下标从3到10,共8个元素 Real lr_Array10,10/声明一个二维数组,共10*10个元素,4.4.6 变量的作用域,变量的作用域就是变量使用的范围。根据变量的作用域可将变量分为四种类型:全局变量Global、实例变量Instance、共享变量Shared、局部变量Local。 1.全局变量的作用域最大,它在应用程序的任何地方都可以使用。 2.实例变量是某个特定对象的实例化。可以在应用对象、窗口对象、用户对象或菜单对象的Script编辑器中定义它,他的作用范围不仅在所在对象的全部事件及函数,而且包括该对象的所有控件和函数。若在定义范围之外使用它,则要通过点符号(.)完成。 3.共享变量并不常用,只在特定情况下才会用到 。共享变量是静态变量。在一个对象内定义,可以在该对象内部的任何地方被使用。同一个类的所有实例共享这种变量。共享变量在对象关闭和再次打开的时候仍然保持它自己的值。 4.局部变量只能在某程序段或函数内部有效,可以在过程、代码、函数内部声明和使用局部变量,但在声明局部变量的范围之外就不能使用局部变量,在不同的函数内部或事件脚本范围内局部变量可以重名,不会引起混乱。 5变量的优先级 四种变量的优先级由高到低依次为:局部变量实例变量全局变量共享变量。,4.4.7变量的命名规范,PowerScript对变量的命名约定了命名规范,即变量名中包含标识变量作用域和数据类型的代词。变量的命名规范见下表:,4.4.8 常量,常量就是在程序运行过程中不能改变的量,声明常量就是在声明的常量标识符的前面加上关键字constant就可以了。常量声明语法格式为: constant 数据类型 常量名 = 值 例如, constant real pi=3.14 /声明常量 常量在声明时必须赋值。声明常量可以提高程序的可读性,使程序易于修改。,4.5 操作符,PowerScript支持的运算符可分为四种类型:算术运算符、关系运算符、逻辑运算符和连接运算符。,1、算术操作符,算术操作符有5个:+、-、*、/、,此外PowerScript还提供了一组扩展的算术操作运算符(与C语言中使用的算术操作符相同): +、-、+=、-=、/=、*=、=。,2、关系操作符,关系操作符用来对相同类型的量进行大小比较运算,比较的结果为TRUE、FALSE、NULL三者之一。常用于条件语句和循环语句。关系操作符有:=、=。,3、逻辑操作符,逻辑操作符用来对布尔型的量进行运算,结果是True或False。有三个逻辑操作符:not、and、or。,4、连接操作符,连接操作符只有一个,就是符号“+”,用于把两个String型或Blob型变量的内容连接在一起,形成新的字符串或Blob型数据。 例:test=中国+北京,在表达式中,运算按操作符的特定次序进行,这种次序就是操作符的优先级。当然,使用括号可以改变运算次序。 优先级顺序如下: () +(正号)、-(负号)、+、- *、/ +、- =、=、 NOT AND OR,5、操作符的优先级,创建与释放对象实例,1、创建对象实例 对非可视的系统对象类型,使用CREATE语句创建对象实例。 语法一:objectvariable=CREATE objecttype 例如:transacrion DBTrans/声明事务对象变量DBTrans DBTrans=CREATE transaction/创建事务对象实例 DBTrans.DBMS=“ODBC”,2、释放对象实例 用create语句创建的对象实例在使用完毕后应该及时释放,以使对象实例占据的内存资源可以重新使用。释放对象实例的语句是DESTROY,释放之后,该对象实例不能再被引用。 语法:DESTROY objectvariable 例如:DESTROY DBTrans 3、收集废弃对象 收集废弃对象是指PB从内存中把失去引用的对象删除,因为应用程序已经无法使用这些对象,白白消耗系统资源。 GarbageCollect()函数立即执行收集废弃对象功能,应用程序执行该函数时,PB识别未用对象并删除该对象及其类定义所占用的内存空间。,4.7条件语句,1、IF语句 IF THEN 语句是一个选择分支结构语句。它有单行和多行两种格式。 单行IF THEN语句的一般格式为: IF condition THEN action1 ELSE action2 其中condition 是一个条件表达式,action1和action2是一条语句。如果condition结果为TRUE,执行action1语句,否则执行action2语句。 多行IF THEN语句的一般格式为: IF condition1 THEN action1 ELSEIF condition2 THEN action2 ELSE action3 END IF 其中condition1和condition2是条件表达式,action1、action2和action3是一条或者多条语句。,2、CHOOSE CASE语句 CHOOSE CASE语句根据测试表达式的值选择不同操作,语法格式: CHOOSE CASE testexpression CASE expresssionlist statementblock CASE expresssionlist statementblock CASE ELSE expresssionlist statementblock END CHOOSE 其中,testexpression是测试表达式,expressionlist是判断表达式,statementblock是满足条件时执行的语句块,方括号表示该成分可以省略。判断表达式可以使用如下的形式: (1)用逗号风格的一组数据,例如:2,4,5 (2)用TO表示一个区间范围,例如2TO15 (3)用IS代表测试值,后跟关系操作符和比较值,例如:IS30 (4)组合运用上述三种方法,并用逗号进行分隔。,4.8循环语句,1.Do Loop循环,DOLOOP是一个通用的循环语句。 在DOLOOP语句中,DO表示循环开始,它有四种形式: 1 DO UNTIL condition statements LOOP 其中,condition为循环条件,statements为循环体。 DO UNTIL语句执行循环体的语句直到UNTIL后面的条件表达式结果为TRUE。如果在第一次条件表达式的值就为TRUE,则循环体中的语句不会被执行。 2 DO WHILE condition statements LOOP DO WHILE语句在WHILE后的表达式结果为TRUE时,执行循环体中的语句,如果第一次对表达式求值的结果即为FALSE,则循环体中的语句不会被执行。 3 DO statements LOOP UNTIL condition LOOP UNTIL语句在UNTIL后表达式结果为FALSE时执行循环体中的语句,直到表达式结果为TRUE时结束循环。循环体中的语句至少被执行一次。 4 DO statements LOOP WHILE condition LOOP WHILE语句当WHILE后面的条件表达式的结果为TRUE的时候,执行循环体中的语句,如果表达式计算结果为FALSE,循环结束。循环体至少被执行一次。,2、FORNEXT循环 FOR.NEXT是一个计数循环语句。 FOR.NEXT语句的一般格式为: FOR varname = start to end STEP increment statement NEXT 其中,varname 代表循环变量,start和end分别为初值和终值,increment为步长。 在使用FOR NEXT语句的时候请注意以下几点: (1)步长可以是正值,也可以是负值,如果是正值,“超过”的意思是“大于”,如果是负值,“超过”的意思是“小于”。 (2)步长的默认值是1。也就是说,省略“STEP increment”部分和使用“STEP 1”效果是一样的。 (3)start和end不能超过varname数据类型的最大值,否则会造成溢出。,3.GoTo语句,GOTO语句是无条件转移语句。其语法格式如下: GOTO label 其中,label是语句的标号。 程序中尽量避免使用goto语句。,4. Exit语句,在DO.LOOP或者FOR.NEXT语句的循环体当中,使用EXIT语句可以跳出循环,使循环提前结束。,5.Continue语句,在DOLOOP或者FORNEXT语句的循环体当中,遇到CONTINUE语句的时候,将不执行在CONTINUE后面和循环结束之前的语句,开始新一轮循环。,6、循环嵌套,循环嵌套就是把一个循环放在另一个循环的内部。,4.9返回语句与终止程序运行,1、RETURN语句 RETURN语句用于从脚本中返回调用程序。其语法格式为: RETURN expression 其中,expression代表该脚本的返回值。 2、HALT语句 HALT语句用于终止应用程序的运行。该语句的语法为: HALT CLOSE 遇到不包含CLOSE选项的HALT语句时,应用程序立即终止。当包含CLOSE的时候,应用先执行CLOSE事件所对应的处理程序,然后再终止应用程序。,4.10嵌入式SQL,PoweScript提供了一整套嵌入式SQL语句,利用嵌入式SQL语句,能够在程序中灵活地操纵数据库。实际上,对这类语句,PB在将其发送到DBMS之前,并不做任何处理,而由DBMS完成相应操作,最后PB得到处理结果。SQL语句结束后加分号。 在SQL语句中可以使用常量或合法的变量,但是使用变量前加个冒号,多个变量或常量之间中逗号分隔。例如: INSERT INFO Employee(emp_nbr,emp_name) VALUES(:ls_empnbr,”李明”),4.10.1事务对象,PB或其开发的应用程序在访问数据库之前,首先应该建立与数据库的连接,这种连接是通过一种称为事务的对象完成。 事务对象是一个传递应用程序与数据库之间信息的一个变量,它驻留在内存中,存储着用于连接数据库及从数据库得到反馈的所有信息,它定义了数据库与应用程序连接的参数。一个应用程序开始创建时,系统就自动定义一个名为SQLCA的默认全局变量。可以使用SQLCA连接数据库,也可以自己创建事务对象。 PB应用程序与数据库进行通信的步骤为: 1)设置事务对象的属性值; 2)建立与数据库的连接; 3)执行所需的数据库操作; 4)断开与数据库的连接。,1、事务对象的属性,事务对象共有15个属性,可以分为两类: 一类有10个,用来描述连接数据库的信息,如所连接的数据库的名称; 另一类有5个,用来接受有关数据库或最近执行SQL语句的情况或状态,如数据库操作是否成功。 1)AutoCommit:这是一个布尔型属性。它指定是否将数据库设置成自动提交所有事务。当它为TRUE时,由系统自动提交所有事务,当为FALSE时,用户必须自己在程序中设置事务管理,并在需要的时候对数据库进行提交事务。它的默认值是FALSE。 2)DataBase:这是一个字符串类型的属性。它指定要连接的数据库名称。 3)DBMS:这是一个字符串类型的属性。它指定应用程序所使用的数据库管理系统的名称,如ODBC。,4)DbParm:这是一个字符串类型的属性。它指定数据库联接参数。 5)DBPass:这是一个字符串类型的属性。它描述的是用户连接数据库的密码。 6)Lock:这是一个字符串类型的属性。它是数据库的保护级别,一般不必给出。 7)LogID:这是一个字符串类型的属性。它用于指定登录数据库服务器所需的用户名或用户的ID。 8)LogPass:这是一个字符串类型的属性。它用于指定登录数据库服务器所需的用户口令。 9)Servername:这是一个字符串类型的属性。它用于指定数据库服务器的名称。 10)UserID:这是一个字符串类型的属性。它指定了连接数据库的用户名或用户的ID。,11)SQLCode:这是一个长整型(Long)的属性。它用来指定最近一次数据库操作成功与否的代码,共有三个返回值:0表示操作成功;100表示操作成功,但没有返回数据;-1表示操作失败。用户可以从SQLDBCode或SQLErrText中得到具体详细的错误信息。 12)SQLDBCode:这是一个长整型的属性。它包含了数据库错误代码,不同的数据库,错误代码不同,但大部分数据库厂商都用0表示操作成功,100表示成功但没有检索到数据,负数表示没有成功。 13)SQLErrText:这是一个字符串类型的属性。它包含了数据库操作的错误信息。 14)SQLNrows:这是一个长整型(Long)的属性。返回受操作影响的数据行数。 15)SQLReturnData:这是一个字符串类型的属性。返回数据库特定信息。,下面是一个连接ODBC数据库所用的代码: / Profile Exercise SQLCA.DBMS = “ODBC“ SQLCA.AutoCommit = False SQLCA.DBParm = “Connectstring=DSN=exercise“ 这段脚本用来设置事务对象的属性,一般把它写在应用程序的Open事件中。,2、使用CONNECT建立与数据库的连接 connect语句表示与数据库连接。它的语句结构是: connect using 事务对象名; 若是使用sqlca,可以使用两种格式: connect; connect using sqlca; 上面两条语句作用一样,也就是说使用系统默认的sqlca,语句中可以指明,也可以不指明,默认指sqlca。 下面两条语句作用不同: connect; connect using sqluser; 第一条使用默认的事务对象sqlca,第二条使用自定义的事务对象sqluser。,3、使用disconnet断开与数据库的连接 disconnect语句表示断开与数据库的连接,它的语法结构是: disconnect using 事务对象名; 使用方法同connect。,4、使用自定义事务对象 一般情况下,使用系统提供的全局事务处理对象SQLCA就可以了,但有时需要连接多个数据库,这时只用一个SQLCA就不够了,需要用户自己定义事务对象,因为一个事务对象只能保存一个数据库的连接信息。 自己定义事务对象步骤如下: (1)声明事务对象变量 (2)创建事务对象 (3)设置事务对象属性 (4)通过事务对象连接数据库并进行操作 (5)断开事务对象与数据库的连接 (6)删除自定义事务对象,像变量一样,事务对象的作用域有局部的、实例的、全局的和共享的,声明的地方决定了事务对象的作用域,事务对象变量的类型是transaction。 声明事务对象的格式为:transaction sqluser 上面只是声明了一个自定义的事务对象sqluser,声明事务对象实际上只是声明了一个指向事务对象的指针,在使用新声明的事务对象前,首先应该创建它。创建语句如下: 如要创建事物对象sqluser,描述创建的语句为 sqluser=create transaction 自定义事务对象的属性设置可参考前面的SQLCA属性的设置,将SQLCA改为sqluser即可。 创建了新的事务对象并设置了连接属性后,就可以像使用SQLCA事务对象相同的方法使用他了。 连接数据库:CONNECT USING sqluser; 创建的对象不再使用时,要删除:DESTROY sqluser,4.10.2 提交与回滚事务,1、commit:提交事务 commit用来提交当前所做的一切事务,实际上是向数据库提交所有数据修改工作。 语法:COMMIT USING TransactionObject 2、rollback:取消事务 rollback用来回滚当前的所有事务,实际上是取消自上次提交事务以来的这一段时间内所有数据修改工作。 语法:ROLLBACK USING TransactionObject,4.10.3 常用的SQL语句,1、单行检索语句SELECT 语法格式:SELECT FieldsList INTO VarList FROM TableList WHERE CriteriaUSING TransactionObject; 2、插入语句INSERT 语法格式:INSERT INTO TableName(FieldName,) VALUES(ValueOfField,) USING TransactionObject; 3、删除语句DELETE 语法格式:DELETE FROM TableName WHERE CriteriaUSING TransactionObject; 4、修改语句UPDATE 语法格式:UPDATE TableName SET FieldName=Value,FiledName=Value, WHERE CriteriaUSING TransactionObject;,4.10.4检查SQL语句执行情况,嵌入式SQL语句的执行有可能成功,也有可能失败。可以检查SQL语句的执行情况。每当执行一条SQL语句后,与该语句相关的事务对象的SQLCode属性都给出一个值,指示SQL语句的执行是否成功,SQLCode取值为: 0最近一次SQL语句执行成功; -1最近一次SQL语句执行失败; 100最近一次SQL语句没有返回数据。 当SQLCode的值为-1时,事务对象的SQLDBCode属性中存放着数据库厂商提供的错误代码,事务对象的SQLErrText属性中存放这数据库厂商提供的错误信息,利用这两个属性,可以找出出错原因。,4.10.5读取多行数据,SELECT一次只能从数据库中检索一条记录,当需要读取多条记录时,需要使用游标进行操作。游标的运用过程是: 1)声明游标; 2)打开游标; 3)使用Fetch读取一行数据; 4)处理数据; 5)判断是否读完所有数据,未读完重复执行3-5步; 6)关闭游标。,4.10.6 粘贴SQL语句,PB提供了图形化生成SQL语句的工具SQL语句画板,利用它能够用交互方式定义SQL语句并将其粘贴到程序中。,4.11 常用函数,1 MessageBox()函数 2 Beep()函数 3 数据类型转换函数 4 数据类型检查函数 IS族函数 5 运行其他应用程序的函数Run() 6 设置输入焦点函数SetFocus() 7 颜色函数RGB(),1 MessageBox()函数 messagebox( )函数用来向用户显示出错、警告、提示及其他重要信息,并且在程序开发阶段被程序员用来显示程序运行状态及中间结果 。该函数将在屏幕上显示一个窗口,用户在响应窗口后,程序才能继续运行下去。 函数格式: si_button_pressed=messagebox(title,text,icon,buttons,default) Title指定显示窗口的标题,text指定显示在窗口的文本,icon指定显示在窗口中的图标,它是枚举类型,取值可以是:Information!、StopSign!、Exclamation!、Question!、None!。Button指定在窗口中显示哪些按钮,有效取值为:OK!、OKCancel!、YesNo!、YesNoCancel!、RetryCancel!、AbortRetryCancel!。Default指定哪个按钮是默认按钮,用数字1、2、3表示,默认值是1。,2 响铃函数Beep() Beep()函数让计算机发出声音,常用于提示用户发生了某种错误,语法格式为:Beep(n) N指明响铃几次。如果n的值大于10,计算机也只响10次。 3 数据类型转换函数 类型转换函数用来将一种数据类型转换为另一种数据类型。 integer(string):将字符串转换成整型。 long(string) :将字符串转换成长整型。 real(string) :将字符串转换成实型。 double(string) :将字符串转换成双精度型。 dec(string) :将字符串转换成十进制数。 string(number,format) :将数值按一定格式转换成字符串。例如:String(amount,”$#,#0.00”),4 数据类型检查函数 数据类型检查函数以IS开头。IS函数的返回值是布尔类型的,其值只有两个:true或false。 IS族函数是一类函数。 isnumber(String)检查字符串变量的内容是否是数值。 isdate(String)检查字符串变量的内容是否是有效日期。 istime(String)检查字符串变量的内容是否是有效时间。 isnull(any)函数检查任意类型变量的内容是否为空。,5 运行其他应用程序的Run() Run函数被用于在Pb中运行其他的Windows应用程序,如计算器、记事本及其他用户应用程序等。 格式:Run(string,windowstate) 其中,参数string是个字符串,它指明要运行程序的文件名,当然,string也可以包括路径、扩展名及程序运行参数,扩展名可以是EXE,也可以是COM、BAT或PIF,默认情况下,以EXE作为程序扩展名;参数windowstate是个枚举类型的变量,用以指明程序运行时的窗口状态,有效值为:Maximized!、Minimized!、Normal!。 例:run(“C:windowscalc.exe,normal!) 6 设置输入焦点函数SetFocus() SetFocus()函数是个对象函数,使用时必须通过对象名指定操作的对象,其作用是让对象得到输入焦点,而不管原先输入焦点在哪里。语法格式: Objectname.SetFocus(),7 颜色函数RGB() PB使用长整数表示颜色。可以直接把表示颜色的长整数赋给对象或控件的颜色属性,也可以用RGB()函数把红、绿、蓝三色分量组合成一个表示颜色的长整数。例如,RGB(0,255,0)表示绿色。 语法格式:RGB(red,green,blue) 其中,red表示颜色中的红色分量强度,有效值在0到255之间, green表示颜色中的绿色分量强度,有效值在0到255之间,blue表示颜色中的蓝色分量强度,有效值在0到255之间。数值越小,亮度越低;数值越大,亮度越高。,4.12创建自定义函数和结构,像其他程序设计语言一样,Powerbuilder给出了几百个功能强大的标准函数,为应用程序提供了强大的方便。但由于应用程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论