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 テクニック編資料