§0 プログラミングを始める前に VB6 | |
(5) 変数の有効範囲 |
変数を宣言する場所によって参照(利用)できる範囲が変わる。大まかにローカル変数とグローバル変数に分けられる。次のサンプルで確認してみる。 (VBでは“変数の適用範囲”という)
新規フォームを用意し、コマンドボタンを2つ配置し、次のプログラムを入力する。
Dim gdata As Integer Private Sub Command1_Click() 'ここから Command1_Clickプロシージャ Dim dat1 As Integer gdata = 2 dat1 = 3 MsgBox gdata + dat1 + dat2 End Sub 'ここまで Private Sub Command2_Click() 'ここから Command2_Clickプロシージャ Dim dat2 As Integer dat2 = 5 MsgBox gdata + dat1 + dat2 End Sub 'ここまで
プログラムでは、Command1_Clickプロシージャの中で変数dat1が整数型で宣言されている。Command2_Clickプロシージャの中で変数dat2が整数型で宣言されている。プロシージャの外(範囲外)で変数gdataが整数型で宣言されている。次の順で実行して確認してみる。
変数dat1とdat2はそれぞれ宣言されているプロシージャの中だけで有効であるためである。このように限られた範囲内だけで有効なのでローカル変数または局所変数という。
プロシージャ外で宣言されている変数gdataはどのプロシージャ内でも有効である。ローカル変数に対してグローバル変数または大域変数という。
次のように、変数宣言を強制するOption Explicitを追加して実行してみる。
Option Explicit '追加
Dim gdata As Integer
実行するとウィンドウが表示され、ボタン(Command1またはCommand2)をクリックすると「変数が定義されていません」というエラーが発生する。
このほかにもいろいろと範囲があるが、とりあえずローカル変数とグローバル変数の違いは押さえておこう。
(5) 変数の有効範囲 | |
Copyright © 2001,2002 Hiroshi Masuda |