1.标识符命名规则:
●必须字母或下划线开头;
●由字母,数字及一些特殊符号(-,_,$,#,%)组成,不能是powerscript保留字;
●不区分大小写。(但若用于Web,Unix等必须区分大小写);
●最长40个字符,但中间不能包括空格。
注意: 短横线又是减号,因此,表达式中使用减号时,必须在减号的两边加上空格。
2.空值
空值既不是零,也不是非零的任何数值。
变量被赋予空值的途径有两条:
(1) 从数据库中读到空值;
(2) 使用SetNull()函数赋值.
例如: String person // person=""
SetNull(person) // person值为NULL
测试变量或表达式是否为空值时,使用函数IsNull(),而不是直接使用关系表达式。
例:测试变量a是否为空值:
IF IsNull(a) THEN ........
3.代词
PowerScript 提供了四个代词,分别为:
This:This代表窗口、用户对象、菜单、应用对象或控件本身。
Parent:Parent指当前控件所在的窗口。(用于窗口)
ParentWindow:ParentWindow代表运行时菜单所在的窗口,该代词只能在菜单的事件处理程序中使用。(用于菜单)
Super:在编写控件或者对象的子对象的程序的时候,可以调用祖先的程序,用户可以直接使用祖先对象的名称调用它们,也可以使用Super来引用直接双亲。
4.数据类型
(1)标准数据类型名称、含义 :
n blob:二进制大对象,用于处理图像、大文本等 ;
n boolean :布尔型,只有两个可能的值:true或false ;
n character或char :单个ASCII字符 ;
n String :字符串类型,用于存储任意的ASCII字符;
n date :日期,包括年(1000-3000)、月(01-12)、日(01-31);
n time :时间,包括小时(00~23)、分(00~59)、秒(00~59)以及秒的小数位(最多六位),范围从00:00:00到23:59:59:999999;
n datetime :日期及时间;
n decimal或dec:带符号十进制数,最大18位精度;
n Double:带符号浮点数,15位有效数字,范围从2.2E-308到1.7E+308 ;
n integer或int :16位带符号整数,范围从-32768到+32767 ;
n long :32位带符号整数,范围从-2,147,483,648到+2,147,483,64;
n Real:带符号浮点数,精度6位,范围从1.17E-38到3.4E+383.5E+5;
n UnsignedInteger或UnsignedInt或Uint:16位无符号整数,范围从0 到65535;
n UnsignedLong或Ulong:32位无符号整数,范围从0到4,294,976,295 ;
(2)枚举类型
在PowerScript中不能定义自己的枚举类型,而只能按系统要求使用它。枚举类型实际上是一组值,每个值都以英文单词开始,以感叹号(!)结束,例如:yesno! ,OkCancel!。
(3)系统对象数据类型
窗口、菜单、各种控件都是系统对象,每一种系统对象实际上都是定义在内部的一种数据类型。通常不必把这些对象当作数据类型来考虑,只需通过工具栏或菜单定义它们即可,因为它们都是可视化的对象
5.变量声明
所有变量在使用之前,都要首先予以说明。系统预定义的五个全局变量除外(SOLCA,SQLDA,SQLSA,Error,Message)。
格式:数据类型 变量名{=初值}
在定义变量的同时,我们可以同时指定变量的初值。若变量被声明时未指定初值,则系统将赋以默认值。对数值型变量而言,其默认值为零。对字符型变量而言,其默认值为空字符’’或空串“”。
6.变量作用域
有四种不同范围的变量:Local、Instance、Global、Shared。
■ 在事件和函数中定义的变量都是Local变量,它的作用范围仅在所在的事件和函数内起作用,在别的事件和函数中不起作用。
n Instance的作用范围在所在对象的全部事件及函数,包括该对象上的所有控件的事件及函数。可以分别给Application、窗口等定义Instance变量。
n 定义Global变量与定义Instance变量的方法相似。不过Global变量的作用域是整个应用程序。一般说,使用Global变量不是一个好的习惯,它会降低程序的可靠性。
7.运算符的优先级
在表达式中,运算符按照优先级进行运算,共分九级,括号最高,同级运算自左至右。
● () 括号
● +,- ,++,-- 正号、负号、自增、自减
● ^ 幂运算
● *,/ 乘、除
● +,- 加、减及连接运算
● =,>,<,>=,<=,<> 关系运算符
● NOT 逻辑反
● AND 逻辑与
● OR 逻辑或
8.(1)条件语句
条件语句分单行和多行两种格式。
格式1: IF condition THEN... ELSE...
格式2: IF condition THEN
.....
ELSE
.....
END IF
CHOOSE...CASE语句
根据表达式的值的不同来执行不同
的语句 ,而不象条件语句那样只有两种选择。
格式:
CHOOSE CASE test_expression
CASE expression_list1
statements1
CASE expression_list2
statements2
. . .
CASE expression_listn
statementsn
{ CASE ELSE
statements n+1}
END CHOOSE
(2)FOR循环语句
格式:FOR v=s TO e {STEP i}
......
NEXT
(3)DO....LOOP循环
格式1:
DO UNTIL condition
......
LOOP
当条件为false时,执行
循环体;为true时退出
循环。
n 格式2:
DO WHILE condition
......
LOOP
当条件为true时,执行
循环体;为false时退出
循环。
格式3:
DO
......
LOOP UNTIL condition
先执行循环体,然后判断条件。
当条件为false时,执行循环体;
为true时退出循环。和格式一
的区别是这里的循环体至少执
行一次。
CONTINUE语句
EXIT语句:只能用于DO...LOOP和FOR...NEXT语句中,遇到EXIT语句,将结束循环,跳到LOOP或NEXT后面的语句去执行
格式: RETURN [表达式]
从当前事件或函数中返回。
格式: HALT [CLOSE]
HALT:结束当前的PowerBuilder应用程序。
9. MessageBox函数
格式: MessageBox( title, text [,icon [,button [,default]]] )
其中title和text参数是必须的,其它花括号中的参数是可选的。各参数的含义:
n title:string类型,指定消息对话框的标题。
n text:指定对话框中显示的消息,可以是数值数据类型、字符串或boolean值。
n icon:枚举类型,可选项,指定要在该对话框左侧显示的图标。值为: Information!(默认值),StopSign!,Exclamation!,Question!,None!。
n button:枚举类型,可选项,指定显示在该对话框底部的按钮.值为: OK! (默认值),OKCancel!,YesNo!,YesNoCancel!,RetryCancel!,AbortRetryIgnore!。
n default:数值型,可选项,指定作为缺省按钮的按钮编号,按钮编号自左向右依次计数,缺省值为1,如果该参数指定的编号超过了显示的按钮个数,MessageBox()函数将使用缺省值返回。缺省按钮是指获得焦点的按钮。函数执行成功时返回用户选择的按钮编号(例如1、2、3等),发生错误时返回-1。
10. Run函数被用于运行其它的Windows应用程序。
11. Close函数用来关闭一个窗口。格式: Close(window_name)
12. Open函数用来打开一个窗口。格式: Open(window_name)