SELECT / END_SELECT、CASE / END_CASE 和DEFAULT CASE / END_DEFAULT CASE 对配合使用,对提供多种备选值的多个条件求值。
假定您有五个圆,标号为 CIR1 到 CIR5,如果您希望操作者只需按键盘上的键即可测量某个圆。可以使用类似如下代码:
整个代码
DO/
C1=注释/输入,键入一个数字测量该圆:
,对于 CIR1 - 键入 1
,对于 CIR2 - 键入 2
,对于 CIR3 - 键入 3
,对于 CIR4 - 键入 4
,对于 CIR5 - 键入 5
,任何其它字符将退出循环
SELECT/C1.INPUT
CASE/1
CIR1=FEAT/CIRCLE
…
…
ENDMEAS/
END_CASE
CASE/2
CIR2=FEAT/CIRCLE
…
…
ENDMEAS/
END_CASE
CASE/3
CIR3=FEAT/CIRCLE
…
…
ENDMEAS/
END_CASE
CASE/4
CIR4=FEAT/CIRCLE
…
…
ENDMEAS/
END_CASE
CASE/5
CIR5=FEAT/CIRCLE
…
…
ENDMEAS/
END_CASE
DEFAULT CASE
注释/操作者,现在退出循环。
END_DEFAULT CASE
END_SELECT
UNTIL C1.INPUT < 1 OR C1.INPUT > 5
样例代码的说明
SELECT/C1.INPUT
此代码行取用用户键入的数字或字符串值(本例中为数字),并确定将从输入执行哪一个 CASE/END_CASE 块。请注意 SELECT / END_SELECT 对包围了整个代码列表。所有 CASE / END_CASE 和 DEFAULT CASE / END_DEFAULT CASE 对必须在这两行之间。
END_SELECT
标记 SELECT / END SELECT 对内的代码结束。
CASE/1 至 CASE/5
根据 C1.INPUT 值,将执行其中一个 CASE 代码块。例如,如果 C1.INPUT 值为 1,则代码的 CASE 1 块执行并测量 CIR1。如果其值为 2,则代码的 CASE 2 块执行并测量 CIR2,以此类推。
END_CASE
这些行结束特定的 Case 代码块。
DEFAULT CASE
若 C1.INPUT 值不符合任何已定义 CASE 语句(如果该值不是 1 至 5 之间的数字),则执行 DEFAULT CASE 代码块。本例显示了一条消息,告知您退出循环。
请注意 DO / UNTIL 循环是如何包围住整个代码示例的。如此可让用户继续从 COMMENT/INPUT 行创建的菜单选择,直至该用户选择一个 CASE 语句未识别的字符。