
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
■列挙型の用途
例)信号の色を返す関数
A. 列挙を使わない場合
Function 信号(col As Integer) As Color
Select Case col
Case 1
信号 = vbBlue
Case 2
信号 = vbYellow
Case 3
信号 = vbRed
Case Else
信号 = vbBlack
End Select
End Function
B. 列挙を使った場合
Enum SignalMode
sigBlue
sigYellow
sigRed
End Enum
Function 信号(col As SignalMode) As Color
Select Case col
Case sigBlue
信号 = vbBlue
Case sigYellow
信号 = vbYellow
Case sigRed
信号 = vbRed
Case Else
信号 = vbBlack
End Select
End Function
この場合
列挙を使わない方は引数が「整数」なので、
関数を使用する人が「青信号の色を取りたい」と思った時に一体引数にどんな数値を入れたらよいか分かりません。
『青信号の時は引数に「1」を渡すこと』
というのは、この関数を作った私にしかワカラナイからです。(ソースを見れば分かりますが。)
整数はいくらでもありますから、渡すべき整数を突き止めるのは困難でしょう。
一方列挙型を使う場合、
VBのエディタで
「信号(」
と打ち込んだ時点で
sigBlue
sigYellow
sigRed
のどれかを引数に入れるように表示されます。
分かりやすい定数名さえつけておけば、青信号ならば「sigBlue」を入れるんだなってことが容易に分かりますよね。
という感じに使います。
No.1
- 回答日時:
>Enumは構造体でTypeは列挙型という認識はあっていますか?
逆で
Enumは列挙型でTypeは構造体
という認識だと思います。
type は、いわゆるユーザー定義型で、既知のデータ型を組み合わせた複合型を宣言します。(そういう型を作る)
Enum は、ある(分類上の?)組の定数を作成することに相当します。
単なる1つの定数と違うのは、その型で組があることです。
その組であらかじめEnum ステートメントで宣言した以外のものは使えないのでそのような型を引数などに使うことは意味があります。(チェックができる)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PLC間の信号のやりとりについて...
-
USBからの電源供給をコントロー...
-
振幅スペクトル、位相スペクト...
-
EnumとType
-
パラレルポート
-
新しくNUROを引いたらlot機器や...
-
ディスプレイ上で起こる2重表...
-
ゲーミングPCでの質問です ゲー...
-
HDMIとHDの違いはなんですか? ...
-
DVIが映らない
-
VPN環境でのARPテーブルの情報...
-
HDMI接続のパソコン液晶モニタ...
-
【EX2510S】HDMIとDisplayPort...
-
IIS環境にてJAVAを使用したいの...
-
イオナイザーの温度条件につい...
-
手作りラジオが鳴らない!
-
RS232C 通信でエラー(受信が正...
-
HyperVで仮想マシンがネットワ...
-
PCのモニターでTVゲームをした...
-
TAとルーターの違いって?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PLC間の信号のやりとりについて...
-
USBからの電源供給をコントロー...
-
Picマイコンについて質問します...
-
C++でLEDを点灯させるプログラム
-
マイコンボード上のポートと端...
-
EnumとType
-
arduinoでミスト機を自作したい
-
マイコンのアセンブラ学習
-
シーケンスのプログラムについ...
-
MFCのシリアル通信でCTS/DSR取得
-
VC++で位相進み補償を行うには?
-
PCのUSBバスパワーの制御
-
VBでUSBポートからの入力を制御...
-
シリアル通信
-
PICの信号について
-
デジタルフォトフレームをただ...
-
PID調節器を用いる制御系につい...
-
マイコンにおけるビット間の干...
-
Borland C++でRTS,DTRを操作できる
-
汎用入出力ポートの制御方法
おすすめ情報