重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

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

VBの質問です。

1.
↓のようなサンプルがございます。:(コロン)の意味がわかりません。

Public Const A As Byte = 0
Public Const B As Byte = 1
Select Case xxxxxxxxxx
Case A:
xxxxxxxx
Case B:
xxxxxxxx
End Select

2.
MSCOMMコントロールを使用しています。
問題で、
Dim A
AにMSCOMMコントロールをセットするとあります。
Dim A As MSCOMM
これで正しいのでしょうか?

A 回答 (3件)

1>


C系言語では、case の後にコロンが必要ですが、VB のCase には必要ありません。
C系言語の癖が抜けないおバカさんが書いたコードです。

2>
これも質問の意図が分からんな。
一応答えると、コントロールを変数に代入するときは、LetではなくSetを使います。

Dim A

A = MsComm1 '× Letの省略形
Let A = MsComm1 '×
Set A = MsComm1 '○
    • good
    • 0

1.


VB のコード上でコロンを使うと、複数のステートメントを
複数行ではなく単一行に書けます。
…まぁ、見辛いし、バグの元になるので、普通の人は使いませんけど。

↓もはやVB.NETの資料しかないけど、
http://msdn.microsoft.com/ja-jp/library/xxda45fy …

2.
すでに付いている回答で十分だとは思うけど、
>Dim A As MSCOMM
これでは変数を用意しただけでインスタンス(実体)を格納していません。
>AにMSCOMMコントロールをセットする
という場合は画面上のコントロールなり、コードでメモリ上に作成した
インスタンスを変数に格納する事を差します。

つまりは todo36 さんご回答の Set を使った画面上のコントロールを
セットする構文で良いと思います。
このあたり、VB.NET では Set を省略するのが正しいルールになりました。
VB という括りでの質問では正しい回答が得られなくなっていますので
注意して下さい。
    • good
    • 0

>:(コロン)の意味がわかりません


そういう文法なんです。ちょっと難しい話をすると、コンパイラは「:」を見つけると「ここでおしまいなんだな」って理解できます。←これわかんなかったら、わかんないままでいいです。

MSCOMMコントロールについては使ったことないので知りません。ぐぐったら下記のサイトがヒットしました。
http://homepage2.nifty.com/kasayan/vb/vbj1.htm

質問者さんの知識ではMSCOMMコントロールは難しすぎるのでは? あきらめたほうがいいのでは?
    • good
    • 0

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