
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からの電源供給をコントロー...
-
PCのUSBバスパワーの制御
-
シーケンスのプログラムについ...
-
Picマイコンについて質問します...
-
マイコンボード上のポートと端...
-
EnumとType
-
USBRSA3のTx,Rxについて
-
ディスプレイ上で起こる2重表...
-
HyperVで仮想マシンがネットワ...
-
Cpkのk(偏り)値をExcelで出す...
-
RS232C 通信でエラー(受信が正...
-
ゲーミングPCでの質問です ゲー...
-
HDMI接続のパソコン液晶モニタ...
-
VMware のネットワーク設定につ...
-
「かりん」を数字で表すとした...
-
SLC基板について
-
新しくNUROを引いたらlot機器や...
-
このパソコンの映像を別の大き...
-
両面ユニバーサル基板の活用方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PLC間の信号のやりとりについて...
-
マイコンボード上のポートと端...
-
USBからの電源供給をコントロー...
-
シーケンスのプログラムについ...
-
振幅スペクトル、位相スペクト...
-
Picマイコンについて質問します...
-
MFCのシリアル通信でCTS/DSR取得
-
AVRマイコンの未使用ピンの処理...
-
pic始めたいです
-
マイコン(PIC)を使って可変抵抗...
-
マイコンを使った時のセンサー...
-
組み込み マイコン 部品をミス...
-
C++でLEDを点灯させるプログラム
-
コンピューターでラジコン操作?
-
ラダープログラムについて
-
デジタル時計(アラーム付)を...
-
VBでUSBポートからの入力を制御...
-
AVRでサーボモータの制御プログ...
-
H8/3052マイコンを使ってホパル...
-
PIC16F1827でPCとシリアル接続
おすすめ情報