プロが教えるわが家の防犯対策術!

VBの質問です。

処理1
#If 0 Then
処理2
#End If
処理3

てどういう意味ですか?

A 回答 (3件)

#1 の方がおっしゃる通り、条件付きコンパイルです。



これは、

>処理1
>#If 0 Then
>処理2
>#End If
>処理3

こういうプログラムと同じです。

処理1
処理3

つまり、処理2のとこを削除してしまってもコンパイルしたプログラムは、同じなんですよ。

んで、特に、
>#If 0 Then
っていうのは、処理2のとこを、
「削除したことがわかるように(履歴を残したまま)削除する」
ということで、バグ修正や仕様変更などバージョンアップで削除するときに、よくやる慣習みたいなもんです。

C言語などでもよく同様のことをやります。

#Else もあるので、使いようによっては、便利です。

#ここだけの話、「万が一、修正したのが間違っていても、すぐ元に戻せるよ~ん」という感じで、なんだか男らしくなくて私は嫌いなんですが・・・

#ちなみに、私の周辺では、バックアップもとらずに、要らない(と思われる)ソースファイルを一気に削除する「男の子ごっこ」がはやってます。(アホですね)
    • good
    • 0
この回答へのお礼

詳細なコメントありがとう

お礼日時:2002/03/02 15:25

質問の例の場合だと,


処理1と処理3はコンパイルされ,処理2はコンパイルされません.
意味としては,処理2の部分をコメントにしているのと同じです.

if文はif (a > 10) Then…のように書きますが,
条件付きコンパイルの場合も同じで,
#if (条件式) Then…#else…#endifのように書きます.

if文では,0の場合を偽,0以外の場合を真としているため,
処理2の場合は条件式が0となっているので,常にコンパイルされません.
    • good
    • 3
この回答へのお礼

コメントありがとうございました

お礼日時:2002/03/02 15:26

こんにちは。

maruru01です。

#Ifの文は、条件付きコンパイル用のステートメントです。
詳細はヘルプで、
「#If」、「条件付きコンパイル」
を検索すると説明があります。
では。

この回答への補足

真中の処理をコメントにするという意味みたいです

補足日時:2002/03/01 18:31
    • good
    • 0
この回答へのお礼

早々のコメント有難うございました

お礼日時:2002/03/01 18:34

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A