イベント処置ファイル内のプロシージャの例

以下の例では、イベント マップのプロシージャを使用してイベント処理を実装する方法を示します。各プロシージャは二重引用符で囲まれていると仮定します。
casp1032jp
以下の例では、イベント マップのプロシージャを使用してイベント処理を実装する方法を示します。各プロシージャは二重引用符で囲まれていると仮定します。
2 つの整数値(4、16)を加算します。
Add( { I 16 }, { I 4 } )
直接値 4 と現在のイベントのイベント変数 2 の値を加算します。
Add( { U 4 }, GetEventVariable( { U 2 } ) )
モデル 0x29c0003 のイベント 0xffff0000 を作成します。 
CreateEvent( { H 0x29c00003 }, { H 0xffff0000 } )
現在のイベントのイベント変数 1 が 100 を超える場合、イベント 0xffff0000 を作成します。 
If( Less( { U 100 }, GetEventVariable( { U 1 } ) ), \ CreateEvent( { H 0x29c00003 }, { H 0xffff0000 } ), \ Nil() ) \ )
イベント変数のリストでイベント 0x10002 を作成します。リストは、現在のイベントの変数のコピーになります。新しいイベントでも、イベント変数 2 を 1965 に設定します。 
CreateEventWithVariables( { H 0x29c00003 }, \ { H 0x10002 }, \ SetEventVariable( GetEventVariableList( { C CURRENT_EVENT } ), \ { U 2 }, \ { U 1965 } \ ) )
リストを作成し、いくつかの要素を追加します。リストには、5、3、2、1、4、6 の順で以下の要素が含まれます。 
AddTail( \ AddHead( \ AddTail( \ AddHead( \ AddHead( \ AddTail( \ CreateList(), \ { U 1 } ), \ { U 2 } ), \ { U 3 } ), \ { U 4 } ), \ { U 5 } ), \ { U 6 } )
モデルの IP アドレスが 191.168.102.25 の場合、モデル 0x29c00003 のイベント 0x10002 を作成します。 
If ( HasIPAddress( { H 0x29c00003 }, { A 192.168.102.25 } ), \  CreateEvent( { H 0x29c00003 }, { H 0x10002 } ), \ Nil() \ )
現在のモデルの属性 0xffff0000 が現在のイベントのイベント変数 1 と同じ値を持つ場合は、モデル 0x29c00003 のイベント 0xffff0000 を作成します。 
If( Equals( ReadAttribute( { C CURRENT_MODEL }, { H 0xffff0000 }), \ GetEventVariable( { U 1 } )   \ ), \  CreateEvent( { H 0x29c00003 }, { H 0xffff0000 } ), \ Nil()   \ )
現在の時刻が午前 8 時 以降の場合、TRUE を返します 
GreaterOrEqual( GetHour( GetCurrentTime() ), { U 8 } )
現在のイベントのイベント変数 1 の値を取得し、現在のモデルの属性 0xffff0001 に書き込みます。 
WriteAttribute( { C CURRENT_MODEL }, { H 0xffff0001 }, GetEventVariable( { U 1 } ) )
現在のイベントのイベント変数リスト内のちょうど 3 つのイベント変数が値 4 を持つ場合、モデル 0x29c00003 のイベント 0xffff0000 を作成します。プロシージャはリストを反復処理し、リスト内の各要素を順番にループ変数「X」に割り当て、値をチェックします。要素の値が 4 の場合は、返される変数「ret」はインクリメントされます。リストの反復処理後、戻り値がチェックされ、その値が 3 の場合、イベントが生成します。 
If( Equals( ForEach( GetEventVariableList(), \ { Variable X }, \ { Variable ret }, \ { U 0 }, \ If( Equals( { Variable X }, \ { U 4 } ), \ Assign( { Variable ret }, \ Add( { Variable ret }, \ { U 1 } ) \ ), \  Nil() \ ) \ ), \ { U 3 } ), \ CreateEvent( { H 0x29c00003 }, { H 0xffff0000 } ), \ Nil() \ )