if, then, elseif, else, endif

条件分岐

1) 書式1

if <expression> <statement>

解説

もし <expression> が真(0以外)ならば、コマンド <statement> を実行する。

; もし A>1 ならば、':label' へ飛ぶ。
if A>1 goto label

; もし result<>0 ならば、A に0を代入。
if result A=0

2) 書式2

if <expression 1> then
  ...
  (<expression 1> が真(0以外)の場合に実行されるコマンド)
  ...
[elseif <expression 2> then]
  ...
  (<expression 1> が偽(0)で、<expression 2>が真の場合に実行されるコマンド)
  ...
[elseif <expression N> then]
  ...
  (<expression 1>, <expression 2>,.., <expression N-1> がすべて偽で、<expression N> が真の場合に実行されるコマンド)
  ...
[else]
  ...
  (上の条件すべてが偽の場合に実行されるコマンド)
  ...
endif

解説

'then' は 'if' と 'elseif' 行の最後になければならない。
'elseif' と 'else' はなくてもよい。
'endif' は必要。

if a=1 then
  b = 1
  c = 2
  d = 3
endif

if i<0 then
  i=0
else
  i=i+1
endif

if i=1 then
  c = '1'
elseif i=2 then
  c = '2'
elseif i=3 then
  c = '3'
else
  c = '?'
endif

*) 注意事項

(バージョン 4.90 以降)
書式2(if - endif)において、thenの記述なしは文法エラーとなる。
code = 100
if code != 100
	messagebox 'The code value is not 100.' 'error'
	goto error
else
	messagebox 'The code value is 100.' 'OK'
endif

:error
end

参照