循序渐进学习Power Builder 6.0(14-2)
14.2.7 CONTINUE
在DO…LOOP或者FOR…NEXT语句循环体当中,遇到CONTINUE语句的时候,将不执行在CONTINUE后面和循环结束之前的语句,开始新一轮循环。例如在下面的例子中,如果NUM1的值大于36,则执行函数FUNCTION1。
FOR NUM1 = 1 TO 56
IF NUM1 <= 36 THEN FUNCTION1()ELSE &
CONTINUE
NEXT
14.2.8 EXIT
在DO...LOOP或者FOR...NEXT语句循环体当中,使用EXIT可以跳出循环。
例子
FOR I = 1 TO 36
IF ARRAY[I] THEN EXIT
NEXT
14.2.9 IF … THEN
IF … THEN 语句是一个选择分支结构。它有单行和多行两种格式。
1 单行IF … THEN语句
单行IF … THEN语句的语法格式为:
IF condition THEN action1 [ELSE action2]
其中condition 是一条表达式,action1和action2是一条语句。如果condition结果为TRUE,action1将被执行,否则action2将被执行。例如:
IF BOOL THEN NUM = 1 ELSE NUM = 2
2 多行IF …THEN语句
多行IF … THEN语句的语法格式为:
IF condition1 THEN
action1
[ELSEIF condition2 THEN
action2
…]
[ELSE
action3]
END IF
其中condition1和condition2是条件表达式,action1、action2和action3是一条或者多条语句。
本语句的执行过程为:计算条件表达式condition1,如果它的结果为TRUE,则执行action1,然后略过在它后面在END IF之前的语句,离开IF...THEN语句;如果condition1的值为FALSE,则计算条件表达式condition2, 如果结果为TRUE,则执行action2,然后略过在它后面和END IF之前的语句,……,如果条件表达式的结果都为FALSE,并存在ELSE子句,则action3被执行。
例子:
IF BOOL1 THEN
NUM = 1
ELSEIF BOOL2 THEN
NUM =2
ELSE
NUM = 3
END IF
14.2.10 CREATE
CREATE语句生成对象实例变量,在生成以后,可以用点操作符引用对象的成员。CREATE语句返回一个可在变量中保存的对象实例句柄。CREATE语句有两种语法格式:
objectvariable = CREATE objecttype
objectvariable = CREATE USING objecttypestring
objectvariable 持有该对象实例,objecttype代表对象类型,objecttypestring是保存需要创建的对象类型名称的字符串。
使用CREATE语句可以创建包括标准类用户对象在内的类用户对象,例如mailSession或者Transaction对象。不过,系统已经为标准用户对象Message、Error、Transaction、DynamicDescriptionArea、DynamicStagingArea提供了一个实例, 如果需要多于一个的的实例,可以使用CREATE语句创立更多的实例。
标准数据类型和结构体不用CREATE创立。当对象的AutoInstantiate属性被设置为TRUE的时候,不需要使用CREATE语句。可视对象实例不使用CREATE语句创立,而使用OPEN函数。使用CREATE语句的第二种语法格式可以在应用中动态地选择对象类型,并创建它的实例。通常在使用继承对象实例初始化祖先对象的时候,使用此CREATE语句格式,
使用CREATE语句创建实例对象,在使用完该对象之后,要用DESTROY命令销毁对象实例。
例子:
torus obj1,obj2
torus_ancestor obj_ancestor
obj1 = CREATE torus
obj2 = CREATE torus
obj_ancestor = CREATE USING obj1
14.2.11 DESTROY
DESTROY语句释放由CREATE创建的实例,释放之后该对象实例不能再被引用。DESTROY语句的语法格式为:
DESTROY OBJName
需要注意的是,在某些情况之下,用户可能需要销毁自己并未创建的Dwobject或者OLEObject对象实例。其原因是:在引用到DataWindow、DWojbect或者OLEObject对象的成员函数或者属性的时候,POWER BUILDER会动态地创立和释放响应对象实例,但是如果用户自己建立了对嵌入对象的引用,而不是调用其本身的成员函数和属性的话,等于重载了内部动态对象,因此用户需要负责释放该对象。
14.2.12 GOTO
GOTO语句控制程序流程,其语法格式如下:
GOTO Label
其中label代表语句标号,其命名应符合标号的命名规则。
例子:
LABEL1:
NUM ++
……
GOTO LABEL1
14.2.13 HALT
HALT语句用于终止应用程序的运行。该语句的语法为:
HALT [CLOSE]
遇到不包含CLOSE选项的HALT语句时,应用程序立即终止。当包含CLOSE的时候,应用先执行CLOSE事件所对应的处理程序,然后再终止应用程序。
14.2.14 RETURN
RETURN语句用于从脚本中返回调用程序。其语法格式为:
RETURN [EXdivSSION]
其中EXdivSSION代表该脚本的返回值。