|
>If i <> 12 Or i <> 13 Then
>〜処理〜
>end if
>
>If CB(14) <> 0 Or CB(15) <> 0 Then
>〜処理〜
>end if
>
>上記二つの意味することは違うのでしょうか。
>CB(14)が0ではない、もしくはCB(15)が0ではない場合処理に入ってくれるのですが違いは何なのでしょうか。
>ちなみに
>
>If Not(CB(14) = 0 Or CB(15) = 0) Then
>〜処理〜
>end if
>
>では希望する処理とは違いました。
>
>よろしくお願いいたします。
論理演算子のHelpを見ましたか?
先ずIf文に就いて
If 評価式 Then
処理A
Else
処理B
Enf if
Ifは、評価式が真(True)の時、Then節の処理Aが実行され
評価式が偽(False)の時、Else節の処理Bが実行されます
比較演算子
= :(等しい)
<>:(等しくない)
等が有り、右項と左項を比較し真(True)または、偽(False)を返します
Or論理演算子に就いて
結果 = 式1 Or 式2
真偽表
式1 式2 結果
True True True
True False True
False True True
False False False
と成ります
If i <> 12 Or i <> 13 Then は
i=12の時
式 結果
i <> 12 False
i <> 13 True
因って、上記真偽表から「i <> 12 Or i <> 13」
の結果はTrueに成ります
因ってIf文はThen節が実行されます
同様に
i=13の時
式 結果
i <> 12 True
i <> 13 False
真偽表より結果はTrue
Then節が実行
同様に
i=14の時
式 結果
i <> 12 True
i <> 13 True
真偽表より結果はTrue
Then節が実行
同様に
12、13以外の結果は全てTrue成る
詰まり
結果がFalse(Else節の実行)に成りえない
If CB(14) <> 0 Or CB(15) <> 0 Then は
CB(14)が0以外、CB(15)が0以外の時
式 結果
CB(14) <> 0 True
CB(15) <> 0 True
因って、上記真偽表から「CB(14) <> 0 Or CB(15) <> 0」
の結果はTrueに成ります
因ってIf文はThen節が実行されます
同様に
CB(14)が0、CB(15)が0の時
式 結果
CB(14) <> 0 False
CB(15) <> 0 False
因って、上記真偽表から「CB(14) <> 0 Or CB(15) <> 0」
の結果はFalseに成ります
因ってIf文はElse節が実行されます
同様に
CB(14)が0以外、CB(15)が0の時
式 結果
CB(14) <> 0 True
CB(15) <> 0 False
因って、上記真偽表から「CB(14) <> 0 Or CB(15) <> 0」
の結果はTrueに成ります
因ってIf文はThen節が実行されます
同様に
CB(14)が0、CB(15)が0以外の時もTrueに成り
Then節が実行されます
次に
Not論理演算子に就いて
Notは否定ですので、評価式の結果を反転させます
詰まり、評価式の値がTrueならFalseに
FalseならTrueにします
そこで
If Not(CB(14) = 0 Or CB(15) = 0) Then は
CB(14)が0以外、CB(15)が0以外の時
式 結果
CB(14) = 0 False
CB(15) = 0 False
因って、上記真偽表から「CB(14) = 0 Or CB(15) = 0」
の結果はFalseに成りますが、Notで否定しているので結果はTrueに成ります
因ってIf文はThen節が実行されます
同様に
CB(14)が0、CB(15)が0の時
式 結果
CB(14) = 0 True
CB(15) = 0 True
因って、上記真偽表から「CB(14) = 0 Or CB(15) = 0」
の結果はTrueに成りますが、Notで否定しているので結果はFalseに成ります
因ってIf文はElse節が実行されます
同様に
CB(14)が0以外、CB(15)が0の時
式 結果
CB(14) = 0 False
CB(15) = 0 True
因って、上記真偽表から「CB(14) = 0 Or CB(15) = 0」
の結果はTrueに成りますが、Notで否定しているので結果はFalseに成ります
因ってIf文はElse節が実行されます
同様に
CB(14)が0、CB(15)が0以外の時も最終結果はFalseに成り
Else節が実行されます
|
|