2024年5月6日发(作者:)

PB 基本语句 循环语句

PB 基本语句

一、赋值语句

赋值语句用于给变量、对象属性赋值,这是应用程序中使用最频繁的

语句,其语法格式为:variablename = expression

其中:⑴variablename是变量名或对象属性;

⑵expression是表达式,其数据类型应该与variablename的数据类型

兼容。

下面是赋值语句的几个简单示例:

Address = "北京"

TaxRate = .05

Age = 30

="北京欢迎你"

PowerScript的赋值语句不支持多重赋值,也就是说,一条赋值语句只

对一个变量赋值,不能同时对多个变量赋值。

下面的语句:A=B=0

在有些编程语言中同时把A和B均赋值0,但PowerScript中,该语

句等价于:

A=(B=0)

其意义为,检查B等于0是否成立,成立时将TRUE赋给变量A,否

则把FALSE赋给变量A。如果A不是Boolean类型的变量,则上述语

句将引起编译错误。

二、条件语句

IF语句有两种形式,下面我们按照从简单到复杂的次序逐一介绍。

1. 单行IF ... THEN语句

单行IF ... THEN语句的格式为:

IF逻辑表达式THEN语句1 [ELSE语句2]

单行IF ... THEN语句书写时整条语句写在一行上,当逻辑表达式的结

果为True时执行语句1,否则执行语句2(如果有该子句的话)。

例如:IF ="BJ" THEN MessageBox("欢迎","北京")

2.多行IF ... THEN语句

多行IF ... THEN语句的语法格式为:

IF 逻辑表达式1 THEN

语句1

[ ELSEIF 逻辑表达式2 THEN

语句2

. . .

] [ ELSE 语句n]

END IF

本语句的执行过程为:计算逻辑表达式1,如果其结果为True,则执

行语句1,然后离开整个IF语句;否则计算逻辑表达式2,如果其结

果为True,则执行语句2,然后离开整个IF语句;... 如果逻辑表达

式的结果都是False,且存在ELSE子句,则执行语句3。

例1:从单行编辑框中输入考分,按“输入”按钮再根据考分显示及格

或不及格。

Integer s

s = integer CHOOSE CASE语句

根据测试表达式的值选择不同的操作,其语法格式为:

CHOOSE CASE 测试表达式

CASE 判断表达式

执行语句块

[CASE 判断表达式

语句块

. . .

CASE 判断表达式

语句块]

[CASE ELSE

语句块]

END CHOOSE

判断表达式可以使用如下的形式:

1. 用逗号分隔的一组数据,例如:2,4,7

2. 用TO表示一个区间范围,例如:2 TO 15

3. 用IS代表测试值,后跟关系操作符和比较值,例如:IS> 30

4. 组合运用上述三种方法,并用逗号进行分隔,例如:5,6,8 TO 12,IS >

20

执行CHOOSE CASE语句时,PowerBuilder将逐条查找CASE,如果找

到与测试值相匹配的判断表达式,就执行该CASE后的语句块,然后

执行END CHOOSE后的第一条语句。如果CHOOSE CASE语句中包含

CASE ELSE子句,则未找到任何匹配的CASE条件时,执行CASE ELSE

子句中的语句块。

例3:从单行编辑框中输入考分,按“输入”按钮后,再根据考分显示

优、良、种、及格或不及格。(用choose case重写例2)

integer f

String s

f = integer

CHOOSE CASE f

CASE IS >= 90 下面的代码从表中选择要打开窗口的类型,然后打

开该窗口,并把单行编辑框sle_location的内容放置在消息对象的属

性中:

window w_to_open

string s_w_name, e_location

e_location =

SELECT next_window INTO :s_w_nameFROM routing_tableWH

ERE ... ;

OpenWithParm(w_to_open, e_location, s_w_name)