条件文について皆さんのご意見を聞かせてください。
関数の戻り値がTrueの場合、処理をするというときです。
①If Ret = True Then
処理
End If
②If Ret <> False Then
処理
End If
どちらもOKだと思いますが、人によって違いますよね・・・
皆さんは以上のような場合どちらを使いますか?
(3) If Ret Then
処理
End If
を使います。
Falseの時は
If Not Ret Then
処理
End If
を使います。
0が正常で0以外が異常値(エラー番号)なんていう時はCBool(Ret)で
If CBool(Ret) Then
異常処理
Else
正常処理
End If
として使います。
複数の数字を見たい時はSelect Caseで対応します。
Boolean 型の初期値が False なので、
『True になった時にフラグが立って何かを処理する必要がある』
…という概念を基本に True が印象に残るコーディングを心掛けてるので
>(1)If Ret = True Then
> 処理
> End If
を使ってます。…というかボクも
(3)If Ret Then
処理
End If
ですね。…自作関数で戻り値を1回しか使わないなら
If 関数 Then
処理
End If
というのも使います。
>複数の数字を見たい時はSelect Caseで対応します。
後々、メンテナンスで処理が追加されそうな時によく使ってます(汗)
TRUE値の定義って
VB6だと、TRUE = -1 だけど、CだとTRUE = 1TRUE
だったりするから、①は避けた方が良いと思う。。Boolean 型限定なら、話は別だけど・・・・
失敗したm(__)m
TRUE値の定義って
VB6だと、TRUE = -1 だけど、CだとTRUE = 1
だったりするから、①は避けた方が良いと思う。。Boolean 型限定なら、話は別だけど・・・・
恥ずかしながらここを見て下さい。痛い目に有っています。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200410/04100037.txt
DLLやAPIを使用した場合、このTrue 、Falseはバグの巣です。
この場合は、True を使用しない方法つまり
If Ret <> False Then
又は
If Ret = False Then
をお勧めします。
突然すいません
ねろさん勉強になりました。ありがとうございます。
ツイート | ![]() |