循序渐进学习Power Builder 6.0(14-2)
14.2 POWER SCRIPT语言
14.2.1 赋值语句
赋值语句可以把一个表达式的结果或者变量和常量的值,赋给一个变量或者对象的属性或成员变量。赋值语句的格式是:
14.2.3 CALL
CALL语句在继承对象中调用祖先对象的脚本,用户在继承对象的事件中不但可以调用祖先的用户对象、菜单对象或者窗口对象的脚本,而且可以调用祖先窗口或者用户对象中的控制的脚本。CALL语句的语法格式为:
CALL ancestorobject[.controlname]::event[(argument)]
其中,ancestorobject指明祖先对象的标识名,controlname是控制的名字,event 和 argument代表被调用的事件及其参数列表,如果事件定义的参数在调用的时候没有argument ,那么空值被作为默认值传递。
新版本的语法允许用户触发(trigger)或者告知调用(post)祖先的事件,但是不能调用祖先中控制的脚本。
14.2.4 CHOOSE CASE
CHOOSE CASE控制结构根据测试值决定程序执行方向,它是一个条件多分支结构。CHOOSE CASE的语法格式为:
CHOOSE CASE testexdivssion
CASE exdivssionlist
Statement
[CASE exdivssionlist
Statement
......]
[CASE ELSE
Statement]
END CHOOSE
testtexdivssion代表测试值,不同的测试值引发不同的语句的执行。exdivssionlist代表判断表达式,它可以用以下的几种形式:
1 用逗号分割的数据,例如:1,2,3,4,5,6,
2 用TO表示一个区间,例如:1 TO 60
3 用IS代表测试值,并辅以关系操作符,例如:IS >20
4 使用以上的三种方法的综合,用逗号分隔,例如:6,6 TO 16,IS > 36
在CHOOSE CASE语句中至少包括一条CASE,并且使用END CHOOSE作为结尾。POWER BUILDER将逐条地查找CASE,如果找到与测试值匹配的判断表达式的时候,就执行该CASE后面的语句,然后转向指向END CHOOSE后的第一条语句如果包含CASE ELSE,在位发现任何匹配CASE条件的时候,执行CASE ELSE后面的语句。
例子:
CHOOSE CASE num
CASE 6
num = 7
CASE IS> 36
num = 36
CASE ELSE
num = 56
END CHOOSE
14.2.5 FOR NEXT
FOR...NEXT是一个计数循环体。使用该语句可以是循环体中的语句被执行规定的次数。该语句的语法格式为:
FOR varname = start TO end [step increment]
statement
NEXT
其中,varname 代表循环变量,start、end分别为初值和终值,increment为步长增量,缺省值为1。在使用FOR NEXT语句的时候应该注意,varname是integer型,end0的值不能取得过大,以防超出integer的取值范围,造成溢出。
例子:
integer array1[16]
FOR I = 1 to 16
array1[I] = I
NEXT
14.2.6 DO…LOOP
DO…LOOP是一个通用的循环语句。它包括四种形式:
1 DO UNTIL … LOOP
DO UNTIL … LOOP的语法格式为:
DO UNTIL condition
statements
LOOP
其中condition代表循环进行的条件,statements表示循环执行的语句。DO UNTIL语句执行循环体的语句直到UNTIL后面标明的条件表达式结果为TRUE,如果在第一次该计算表达式时结果即为FALSE,则循环体中的语句不会被执行。
2 DO WHILE … LOOP
DO WHILE … LOOP的语法格式为:
DO WHILE condition
statements
LOOP
其中condition代表循环进行的条件,statements表示循环执行的语句。DO WHILE语句在WHILE后的表达式结果为TRUE时,执行循环体中的语句,如果第一次对表达式求值的结果即为FALSE,则循环体中的语句不会被执行。
3 DO … LOOP UNTIL
DO … LOOP UNTIL的语法格式为:
DO
statements
LOOP UNTIL condition
其中condition代表循环进行的条件,statements表示循环执行的语句。LOOP UNTIL语句在UNTIL后表达式结果为FALSE是执行循环体中的语句,直到表达式结果为TRUE时结束,但是循环体中的语句至少被执行一次。
4 DO … LOOP WHILE
DO … LOOP WHILE的语法格式为:
DO
statements
LOOP WHILE condition
其中condition代表循环进行的条件,statements表示循环执行的语句。LOOP WHILE 语句当WHILE后面的条件表达式的结果为TRUE的时候,执行循环体中的语句,如果表达式计算结果为FALSE,循环结束,但至少被执行一次。