If…Then…Else…EndIf
按照指定的条件转移执行命令。
格式
(1) If条件表达式 Then
语句T1
.
.
[ElseIf 条件表达式 Then]
语句T1
.
.
[Else]
语句F1
.
.
EndIf
(2) If 条件表达式 Then 语句T1 [;语句T2...] [Else 语句F1 [;语句F2...]]
参数
- 条件表达式
- 返回真伪值(True/False的值)的有效条件表达式。真(True)时返回“0”以外的数值,伪(False)时返回“0”。(请参阅下述条件表达式示例。)
- 语句T1
- 条件表达式的值为真(True)时,也就是满足条件时执行语句。(可以将多个语句记述在If...Then...Else形式的区段中。)
- 语句F1
- 条件表达式的值为伪(False)时,也就是满足条件时执行语句。(可以将多个语句记述在If...Then...Else形式的区段中。)
说明
(1) If...Then...Else在满足条件时,执行T1以后的语句。如果不满足条件,执行F1以后的语句。If...Then...Else命令的Else部分可省略。如果省略Else部分而又未满足条件,将执行EndIf以后的语句。请用EndIf结束If...Then...Else语句段,而与有无Else无关。
(2) If...Then...Else还可以通过段以外的形式使用。是将If...Then...Else的所有语句都记述在同一行的方法。按照此方法使用If...Then...Else时,不需要EndIf。如果满足此行记述的条件表达式(如果有相对于条件表达式的真值(True)),将执行Then与Else之间的语句。如果不满足条件表达式(如果有相对于条件表达式的伪值(False)),将执行Else后面的语句。If...Then...Else的Else部分不是必须的。在不满足条件表达式的情况下(相对于条件表达式是伪值(False)),如果没有Else关键字,控制将转至程序中的下一个语句。
注意
条件表达式范例
- a = b:a等于b
- a < b:a小于b
- a >= b:a大于等于b
- a <> b:a不等于b
- a > b:a大于b
- a <= b:a小于等于b
也可以使用And、Or、Xor等逻辑运算符。
条件表达式中使用True时
常数 True的值是-1,由于是Boolean型,在与其他型变量的比较条件中使用时需要注意。
Function main Integer i i = 3 If i = True Then Print "i=TRUE" EndIf Fend
执行上述程序后,将显示“i=TRUE”。这是因为包括Boolean型的条件判断是通过“0”或“非0”非来判断。
如果“i”值不是“0”,将判断为条件成立并进行显示。
参阅
Else、Select...Case、Do…Loop
If/Then/Else使用示例
[1行的If...Then...Else]
下例是为确定特定输出的ON/OFF而检查输入的简单示例。这样的任务用于经常变动的I/O任务等任务中。
Function main
Do
If Sw(0) = 1 Then On 1 Else Off 1
Loop
Fend
[区段显示的If...Then...Else]
下述所示为检查几个输入情况并输出该输入状态的简单示例。
If Sw(0) = 1 Then Print "Input0 ON" Else Print "Input0 OFF"
'
If Sw(1) = 1 Then
If Sw(2) = 1 Then
Print "Input1 On and Input2 ON"
Else
Print "Input1 On and Input2 OFF"
EndIf
Else
If Sw(2) = 1 Then
Print "Input1 Off and Input2 ON"
Else
Print "Input1 Off and Input2 OFF"
EndIf
EndIf
[其它格式示例]
If x = 10 And y = 3 Then GoTo 50
If test <= 10 Then Print "Test Failed"
If Sw(0) = 1 Or Sw(1) = 1 Then Print "Everything OK"
← I ImportPoints →