プロが教える店舗&オフィスのセキュリティ対策術

VB初心者ですが。クイズゲームのようなものを作成したいと考えてます。
Private Sub ~ End Sub の中で宣言した変数って他のところに呼び出したり(戻り値として渡す)出来るのでしょうか?
どこでも、いつでも呼び足せるグローバル変数の宣言とはどのようにやるのか、具体的に教えていただけないでしょうか?

A 回答 (5件)

>Public a as Integerのように宣言して、初期化するにはどのように記述を行えばよいですか?



>Public a As Boolean = 0
のように記したら”コンパイルエラー”と出ました。

Booleanって整数値取れたかなと思いつつ。
Sub~End Sub内でa = 0を代入したりしてください

扱おうと言うことがあるかどうか疑問だけど

Public Const a As Integer = 10 'グローバルな定数の宣言
    • good
    • 4
この回答へのお礼

早々の返答ありがとうございました。booleanに0をいれるのは、確かに変かもしれません。ありがとうございました。

お礼日時:2006/08/22 16:44

Public変数はグローバル変数的な使いかたもできますが


本来の使用方法は異なります。

複数の標準モジュール(.BAS)に同じ名前のPublic変数名
も使用可能で、この場合にはFormモジュール上のコント
ロールを指定する時(Form1.Text1)の様に

bb = hoge.a
# hoge : 標準モジュール名
の様に指定します。
複数のモジュールでPublic変数を使用した場合、同じ
モジュール内にPublic変数定義があった場合にはそれが
使用され、他のモジュールで定義されたPublic変数の値
は変化しないので注意が必要です。
Form1.Text1.Text の値を変更しても Form2.Text1.Text
の値が変わらないのと同じ。

本来の意味でのグローバル変数定義は
Global a As Integer
の様に記述しますが、グローバル変数を使用する事は
オブジェクト指向プログラミングには向かない為、
既存プログラムとの互換性を保つ目的でのみ残されて
いますが、使用を推奨されてはいません。
    • good
    • 1

こんばんは。



グローバル変数については皆さんのレスあるとおりです。

Booleanは、TrueかFalseを入れる変数です。

通常は、Booleanで宣言した変数に値を入れようと a = と入力した時点で TrueとFalseの選択肢が出てくるはずですが。
    • good
    • 0

プロシージャの先頭(subやfunctionの中にはいれずに)で



public 変数名

で宣言すればOKです。
標準モジュールの先頭でやったほうが良いようです。
    • good
    • 1
この回答へのお礼

アトバイスのお陰でなんとか出来ました。
早々の返答ありがとうございました。

お礼日時:2006/08/22 15:40

できない。



>いつでも呼び足せるグローバル変数の宣言
プロジェクトエクスプローラで標準モジュールを追加して

Public a as Integer

のように宣言する

この回答への補足

Public a as Integerのように宣言して、初期化するにはどのように記述を行えばよいですか?
Public a As Boolean = 0
のように記したら”コンパイルエラー”と出ました。
それならと考え、一行改行して
Public a As Boolean
a = 0
と記述すると”プロシージャー外では無効です”と出てしまいます。

補足日時:2006/08/22 15:51
    • good
    • 1
この回答へのお礼

アドバイスにのっとってやってみたら、問題解決しました。ほんと初心者だとちょっとしたことでつまづきます。ありがとうございました。

お礼日時:2006/08/22 15:44

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A