電子書籍の厳選無料作品が豊富!

VB6で変数を宣言するときにいちいち新しいプロシージャのたびに新しく宣言しなおすのがすごく不便です。
Dim A As Integer
A = 12345
と毎回宣言すると見た目も悪いですしいろいろと不便です。
どのプロシージャにも A と書けば必ず 12345 を呼び出してくれるようにはできないのでしょうか?

A 回答 (2件)

※ 私の解釈違いかもしれませんので、取り敢えずは補足要求とさせて頂きます。



> Dim A As Integer
> A = 12345
> と毎回宣言すると見た目も悪いですしいろいろと不便です。

これだけでは意味がよくわかりませんが……
こういう意味でしょうか?

※ フォームのコードを記述しているとして

Private Sub subA()
Dim A As Integer
A = 12345
...
End Sub
------------------------------
Private Sub subB()
Dim A As Integer
A = 12345
...
End Sub
------------------------------
Private Sub subC()
Dim A As Integer
A = 12345
...
End Sub
------------------------------

※ ご質問がそうだと仮定して……

それが定数であれば (General) の箇所に定数として記述して
このようにします。

Private Const A As Integer = 12345
------------------------------
Private Sub subA()
...
End Sub
------------------------------
Private Sub subB()
...
End Sub
------------------------------
Private Sub subC()
...
End Sub
------------------------------

とするか、または標準モジュールで

Public Const A As Integer = 12345

とすればよろしいのではないでしょうか?

定数ではなく変数であれば (General) で宣言して Form_Load などで初期化します。

# フォームがなく標準モジュールしかない場合は Sub Main で初期化。
    • good
    • 0
この回答へのお礼

説明不足でしたね。すみません。でもずばりそういうことです。
宣言をプロシージャの前におけば解決するのですね!
おかげで無事プログラムが書けそうです。ありがとうございました!

お礼日時:2008/04/08 16:24

>Dim A As Integer


>A = 12345
>と毎回宣言すると見た目も悪いですしいろいろと不便です。

これは、基本中の基本だから仕方のないことじゃないですかね。

>広域変数を用いることで、それぞれの関数内での宣言を省くことも可能である。
>しかし、広域変数は変数の役割りを不可視する効果もあるので多用するべきではない。

確か、このような警告を「プログラミング言語C改訂版」でカーニハン&リッチーが述べていたように記憶しています。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!