If 表达式是最有用的控制结构之一。它使您得以在条件为 true 时对一系列表达式求值,而在条件不为 true 时对其他一系列表达式求值。
例子:
If {Employee.Dept} = "Sales" Then
{Employee.Salary} * 0.06
Else
{Employee.Salary} * 0.04
Select 表达式与 If 表达式相似。然而,有时可以使用 Select 表达式编写更清楚且重复少的公式。下例对 {客户.传真} 字段求值,以确定区号是北京区号 (010) 还是其他地方:
例子:
Select {Customer.Fax}[1 To 3]
Case "010" :
"北京"
Default :
"其他";
For 循环使您能够对一系列表达式多次求值。这不同于 If 和 Select 表达式,在 If 和 Select 语句中,程序在对公式求值时几乎同时传递每个语句。
如果事先知道需要对语句求值的次数,最好使用 For 循环。
使用 For 循环
Local NumberVar strLen :=0;
Local NumberVar i;
Local NumberVar sum;
For i := 1 To 100 Do
(
sum := sum +1i
);
While ... Do 循环对条件求值,如果条件为 true,则对 Do 后面的表达式求值。
完成对表达式的求值后,再次对该条件求值,如果条件为 true,则再次对 Do 后面的表达式求值。
它不断重复该过程,直到条件为 false 时为止。
Do ... While 循环对任何表达式求值一次。
然后对条件求值,如果条件为 true,则再次对表达式求值。该过程持续进行,直到条件为 false 时为止。 |