ST 声明:CASE
CASE 语句是一种条件控制结构,它使语句或语句的一部分仅在特定条件下执行。通过比较条件和标签来确定执行的部分。
句法:
CASE <condition> OF <label-1> : <instruction-1> <label-2> : <instruction-2> <label-3, label-4, label-5> : <instruction-3> <label-6 .. labe-10> : <instruction-4> <label-n> : <instruction-n> ELSE <ELSE-instruction> END_CASE
| 条件的整数变量 例子: 变量的值与构造中声明的标签进行比较。 CASE 语句中可以使用任意数量的标签(最少:2)。否则,可以使用 IF-THEN-ELSE 结构更清楚地显示该结构。 所有标签必须具有不同的值。 |
| 与条件具有相同数据类型的常量、文字或常量表达式 充当 CASE 构造中的标签(跳转目标)。 例子: 如果该值等于 状况,则运行下面的语句。 如果该值不等于 状况,则忽略相应的语句,系统跳转到下一个标签。 |
| 带有多个标签的逗号分隔列表,用作跳转目标 例子: 如果其中一个标签符合条件 状况,然后运行下面的部分。 |
| 带下限和上限标签的范围
如果条件 状况 取以下范围内的值 标签-n1 到 标签-n2,然后运行下面的部分。 |
| 可选,最多一次 默认跳转目标,如果所有先前的标签都跳转到 不要 符合条件。 |
| 语句,或由多个语句组成的语句段 语句始终以分号 ( |
例 72. 例子
CASE iCondition OF 1, 5, c_ONE, C_TWO: bVar1 := TRUE; bVar3 := FALSE; 2: bVar2 := FALSE; bVar3 := TRUE; 10..20: bVar1 := TRUE; bVar3 := TRUE; ELSE bVar1 := NOT bVar1; bVar2 := bVar1 OR bVar2; END_CASE