[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/11/02(Wed) 10:55
投稿者名:あう
Eメール:
URL :
タイトル:
if文で不明な事
例:If A = vbNullString Then 〜
これは解りますが
例:If (A = vbNullString) Then 〜
このように括弧で括った場合、どういう判定なのでしょうか?
VB初めて8年になりますが、初めて見た物ですから・・・

投稿時間:2005/11/02(Wed) 11:14
投稿者名:いな
Eメール:
URL :http://,
タイトル:
Re: if文で不明な事
> 例:If A = vbNullString Then 〜
> これは解りますが
> 例:If (A = vbNullString) Then 〜

同じことです。
IF文の条件が複雑になった際、
Or や Andだけでは見辛いから()をつけ、処理を見やすくした
と言う名残だと思います。

1個ならば、同じですけどね

投稿時間:2005/11/02(Wed) 12:10
投稿者名:ダンボ
URL :
タイトル:
Re^2: if文で不明な事
> Or や Andだけでは見辛いから()をつけ、処理を見やすくした

人にとって「見辛いから」、と同時に「意図しない誤記」を避けるという点があると思います。

・比較演算子と論理演算子に同じ記号を使ってしまった
・論理型と整数型に混用を許してしまった
というVBの寛容さが原因にあるとして、演算の優先順位も混乱の1因として、

例えば下記(うまい例が思いつかないけど)
Dim a As Integer, b As Integer
a = 1: b = 2
If a = 1 And b Then
   Stop
End If
あなたはどういう意図でこうコーディングしたか。VBはどう解釈したか。

投稿時間:2005/11/07(Mon) 16:26
投稿者名:あう
Eメール:
URL :
タイトル:
Re^3: if文で不明な事
なるほど、そういう意味があったのですね。
デバッグモードでカーソルあわせたらTrueやFalseが出ていたので
なんだろうと思っておりました。
勉強になりました、ありがとう御座いました。

投稿時間:2005/11/07(Mon) 17:37
投稿者名:いな
Eメール:
URL :http://,
タイトル:
Re^4: if文で不明な事
> デバッグモードでカーソルあわせたらTrueやFalseが出ていたので
> なんだろうと思っておりました。

ん〜?それは括弧とは関係ないのでは?
IF分の条件式は真(True)か偽(False)で常に判断されるので、
括弧が無くても、(式を範囲選択して)カーソルを合わせるとTrueやFalseが表示されますよ?

投稿時間:2005/11/07(Mon) 17:48
投稿者名: 
Eメール:
URL :
タイトル:
Re^5: if文で不明な事
話がそれてしまいますが、昔If文で驚かされたことを書いておきます

Private Sub Form_Load()
    On Error Resume Next
    If foo Then
        Debug.Print "真?"
    End If
End Sub

Function foo() As Boolean
    foo = False
    Err.Raise 1
End Function

投稿時間:2005/11/07(Mon) 19:24
投稿者名:いな
Eメール:
URL :http://,
タイトル:
Re^6: if文で不明な事
> 話がそれてしまいますが、昔If文で驚かされたことを書いておきます

私もTrueの値が、1なのか、-1なのか分からなくなると言うときがありました。