• ベストアンサー

ご質問

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 これで正しいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

1> C系言語では、case の後にコロンが必要ですが、VB のCase には必要ありません。 C系言語の癖が抜けないおバカさんが書いたコードです。 2> これも質問の意図が分からんな。 一応答えると、コントロールを変数に代入するときは、LetではなくSetを使います。 Dim A A = MsComm1 '× Letの省略形 Let A = MsComm1 '× Set A = MsComm1 '○

その他の回答 (2)

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.3

1. VB のコード上でコロンを使うと、複数のステートメントを 複数行ではなく単一行に書けます。 …まぁ、見辛いし、バグの元になるので、普通の人は使いませんけど。 ↓もはやVB.NETの資料しかないけど、 http://msdn.microsoft.com/ja-jp/library/xxda45fy(v=vs.80).aspx 2. すでに付いている回答で十分だとは思うけど、 >Dim A As MSCOMM これでは変数を用意しただけでインスタンス(実体)を格納していません。 >AにMSCOMMコントロールをセットする という場合は画面上のコントロールなり、コードでメモリ上に作成した インスタンスを変数に格納する事を差します。 つまりは todo36 さんご回答の Set を使った画面上のコントロールを セットする構文で良いと思います。 このあたり、VB.NET では Set を省略するのが正しいルールになりました。 VB という括りでの質問では正しい回答が得られなくなっていますので 注意して下さい。

  • osietete4
  • ベストアンサー率21% (81/369)
回答No.1

>:(コロン)の意味がわかりません そういう文法なんです。ちょっと難しい話をすると、コンパイラは「:」を見つけると「ここでおしまいなんだな」って理解できます。←これわかんなかったら、わかんないままでいいです。 MSCOMMコントロールについては使ったことないので知りません。ぐぐったら下記のサイトがヒットしました。 http://homepage2.nifty.com/kasayan/vb/vbj1.htm 質問者さんの知識ではMSCOMMコントロールは難しすぎるのでは? あきらめたほうがいいのでは?