SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

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 テクニック編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2025 Y.SAK