最近はもっぱらVBの改造が多いのでC言語を忘れてしまいそう〜。
VBとVC++を同時に覚え始めた頃なんかは「;」を忘れてコンパイルエラーが続出っ(^^;

VBとC言語の比較表を書いて見ました。

データ型

VBのデータ型がCだったら何だったけ?っていうのを書いてみました。
※CとC++とMFCの記述はごちゃまぜになってます。m(_ _)m

サイズ VB C
16bit ブール型 Boolean
Falseは0、Trueは-1
bln BOOL
8bit バイト型 Byte byt BYTE
8bit キャラクタ型 - - char
16bit 符号なし整数型 - - WORD
16bit 整数型 Integer - short
32(16)bit 整数型 - int int
32(16)bit 符号なし整数型 - - UINT
32bit 符号なし整数型 - - DWORD
32bit 長整数型 Long lng long
32bit オブジェクト型 Object obj -
32bit 単精度浮動小数点数型 Single sng float
64bit 通貨型 Currency cur -
64bit 日付型 Date dtm -
64bit 倍精度浮動小数点数型 Double dbl double
- 文字列型 String str CString
- バリアント型 Variant vnt -

数値の有効範囲

変数のデータ型を決めるときは数値の有効範囲に注意!

データ型範囲 データ型範囲
char -128〜+127 unsigned char 0〜255
short -32768〜+32767 unsigned short 0〜65535
long -2147483648〜+2147483647 unsigned long 0〜4294967295

ページトップへ

制御文

判定

VBC
If lngRsts = 0 Then

// 真の場合の処理

Else

// 偽の場合の処理

End If
if ( nRsts <= 0){

// 真の場合の処理

}
else{

// 偽の場合の処理

}

ループ

VBC
For lngCounter = 1 To 20

// ループ内の処理

Next lngCounter
for (i = 0 ; i <= 20 ; i++){

// ループ内の処理

}
Do While Not EOF(intFileNo)

// 条件が真の間の処理

Loop

Do

// 条件が真の間の処理

Loop While lngCounter < 20

Do Until EOF(intFileNo)

// 条件が真となるまでの処理

Loop

Do

// 条件が真となるまでの処理

lngCounter = lngCounter + 1

Loop Until lngCounter >= 20
while ( !rs1.IsEOF() )

//条件が真の間の処理

}

do {

// 条件が真の間の処理

i++;

}while ( i < 20);

選択肢

VBC
Select Case lngRsts
Case 1

// 条件が1の場合の処理

Case 2

// 条件が2の場合の処理

Case Else

// 条件がどれとも一致しない場合の処理

End Select
switch ( nRsts ){
case 1:

// 条件が1の場合の処理

break;
case 2:

// 条件が2の場合の処理

break;
default:

// 条件がどれとも一致しない場合の処理

}
※「break;」がないと次の処理に入っちゃうよ!

ページトップへ

メッセージボックス

VBC

ページトップへ