入力パラメータ
プロシージャは、以下のタイプの入力パラメータを受け入れます。
casp1032jp
プロシージャは、以下のタイプの入力パラメータを受け入れます。
- 値。値は、タイプおよび値で指定します。
- 定数。定数は、文字 C の後に定数の予約語を続けて指定します。
- 別のプロシージャ。これはパラメータが必要な場合に評価され、その戻り値は呼び出し元のプロシージャの実際の入力パラメータとして使用されます。
パラメータ タイプ
パラメータとして直接の値を指定するときには、そのタイプを指定する必要があります。値のタイプには、以下のテーブルに示すように、派生階層があります。一般的なタイプの代わりに特殊なタイプを使用できます。たとえば、符号なし整数の代わりにモデル ハンドルを使用でき、数値の代わりに特殊なタイプのいずれかを使用できます。
パラメータのタイプが想定されるタイプと同じでないか、その派生でない場合、タイプが類似していれば、ほとんどのプロシージャは想定されるタイプへの変換を試みます。変換が失敗するか、変換を行わないと、エラーが発生します。
注:
ToUInteger プロシージャ(CA Spectrum に付属)を使用すると、パラメータ値を符号なし整数に変換できます。想定されるパラメータ タイプと実際のパラメータ タイプとの変換であるため、多くの場合、これはエラーの回避に役立ちます プロシージャでパラメータ タイプを指定するには、タイプの文字(短い記号)を指定します。たとえば、以下のプロシージャのパラメータは両方ともハンドル(ID)で、文字「H」で示されています。最初のハンドルではイベントを生成するモデルを指定し、2 番目のハンドルでは生成するイベントを指定しています。
CreateEvent( { H 0x29c00003 }, { H 0xffff0000 } )
以下のテーブルは、パラメータ タイプ、その派生階層、および関連する短い記号を簡単にまとめたリストです。短い記号の詳細なリストについては、「EventCondition ルール」を参照してください。
パラメータ タイプ | Description | 短い記号 |
オブジェクト | 派生ルート | N/A |
リスト | リスト ルート | N/A |
AttributeList | 属性値のリスト | N/A |
EventVariableList | イベント変数のリスト | N/A |
属性値 | 指定可能な属性値 | N/A |
数値 | 数値ルート | N/A |
整数 | 整数値 | I |
符号なし整数 | 符号なし整数の値 | U |
日時 | 時刻の値 | T |
ModelHandle | モデル ハンドル | H |
ModelType | モデル タイプ ハンドル | H |
RelationHandle | 関係ハンドル | H |
属性 ID | 属性 ID | a |
符号なし長整数 | 符号なし長整数(64 ビット)の値 | L |
ブール値 | ブール値 | B |
Double | 実数値 | R |
String | 文字列ルート | N/A |
テキスト文字列 | 文字列値 | S |
オクテット文字列 | オクテット文字列値 | O |
タグ付きオクテット文字列 | 16 進数のタグ付きオクテット文字列 | X |
Object ID | オブジェクト ID 値 | o |
IP アドレス | IP アドレス | A |
変数 | 変数の値 | V |
定数
定数は、文字 C の後に定数の予約語を続けて指定します。たとえば、以下のプロシージャは現在のモデルに対してイベント 0xffff0000 を作成します。
CreateEvent( {C CURRENT_MODEL}, { H 0xffff0000 } )
イベント マップ内のプロシージャでは、以下の定数のリストを使用できます。
CURRENT_EVENT
現在のイベント。SpectroSERVER によって自動的に環境に設定されています。
CURRENT_MODEL
現在のモデル。SpectroSERVER によって自動的に環境に設定されています。
RELATION_SIDE_LEFT
関連付けの左側にあるモデルです。
RELATION_SIDE_RIGHT
関連付けの右側にあるモデルです。
RELATION_SIDE_EITHER
関係付けの両側にあるモデルです。