8.27.5 *Not演算子

LANSA

8.27.5 *Not演算子


*Notは、ブール値の逆の結果をテストしたり、設定したりするときに使用します。

例えば、以下のようになります。

If (*Not #Object.Boolean)
 

または

#button.enabled := *not #button.enabled
 

「良い」結果と「悪い」結果を定義するために複雑な論理処理が必要な場合は、ブール値を返すメソッドの中にコードをカプセル化するのが望ましい方法です。その点で便利なのが、逆の結果に基づく処理を実行するために使用できる*Notです。

Evtroutine Handling(#STD_NUM.Changed)
If (*Not #COM_OWNER.IsValidEntry( #STD_NUM ))
* Do something
Endif
Endroutine
 
Mthroutine Name(IsValidEntry)
Define_Map For(*input) Class(#STD_NUM) Name(#NUMBER)
Define_Map For(*RESULT) Class(#prim_boln) Name(#RESULT)
#RESULT := False
If ((#NUMBER > 100) *And (#NUMBER < 200))
#RESULT := true
Endif
If ((#NUMBER > 300) *And (#NUMBER < 400))
#RESULT := true
Endif
Endroutine
 

参照

式の機能強化