SAK 図書館
VB 基礎編 (その三) 制御構造(判定、ループ) if、select case、for、do、while
VB の制御構造について説明します。
説明中の『[]』は、省略可能オプションです。
■IF 文 (判断)
C の if() と同等。
if 条件 then
条件が真のとき
[else]
条件が偽りのとき
[end if]
条件の結合には、『条件1 and 条件2』『条件1 or 条件2』が使える。
判定の優先順位が重要な意味を持つときは () で、優先順位を変更できる。
尚、not は、C の ! とは少し意味が違う様に思う。
また、TRUE (真)、FALSE (偽) 予約語がある。
C などの言語と値が違うので、Windows API などの C リファレンスでの TRUE、
FALSE 判定をそのまま VB にコーディングしてはならない。
VB:
true = -1
false = 0
C:
TRUE = 1
FALSE = 0
■CASE (多重判定)
C の switch() と同等。
select case 変数
case 値1
変数と値1 が真のとき
[case 値2]
変数と値2 が真のとき
[case else]
以上の case 以外のとき
end select
C のように、順に下に流れる制御は行われない。
■for (ループ)
C の for() と同等。
for 変数 = 初期値 to 終了値 [step 増分]
[exit for]
next
増分に従って、必要な回数 for 〜 next 間をループします。
ループから強制脱出するときは、exit for を使用します。
【例】for i = 1 to 10 '** 10 回繰り返す
next
for i = 10 to 1 step -1 '** 10 回繰り返すが、i を逆算する
next
■do (ループ)
C の while() と同等。
do [while, until 条件]
[exit do]
loop [while, until 条件]
条件は、do 側か loop 側のどちらか一方に書く。
(どちらにも指定しないと無限ループとなる。)
do 側は、ループに突入する前に条件が評価され、loop 側は、ループの終わり
に条件が評価される。
while は条件が真のときループし、until は条件が真のときループを抜け出る。
ループから強制脱出するときは、exit do を使用します。
【例】do until eof(1) '** ファイル #1 が at end になるまでループする
input #1, a
loop
i = 0
do '** i が >= 10 になるまでループする
i = i + 1
loop i >= 10
■while (ループ)
C の while() と同等。
while 条件
...
wend
【例】while eof(1) <> true
input #1, a
wend
■exit sub (関数脱出)
sub または、function 関数内から強制脱出するときは、
exit sub
exit function
のいずれかを使用する。
■VB 基礎編資料
■VB 入門編資料
■VB ビジュアル編資料
■VB テクニック編資料