DOTRAIN¶
| 関数名 | 引数 | 戻り値 |
|---|---|---|
DOTRAIN | int | なし |
API
DOTRAIN trainNo
TRAINを行う命令です。@EVENTTRAIN、@SHOW_STATUS、@SHOW_USERCOM、@USERCOM、@EVENTCOMEND及びそこから呼び出された関数の中でのみ使用可能です。引数で指定する番号は
train.csvで定義した番号に対応しています。動作はコマンドが選択された場合と同じで、
UP、DOWNなどの変数を初期化し、SELECTCOMに引数を代入し、@EVENTCOMが呼ばれ、@COM{SELECTCOM}が呼ばれ……という流れになります。 引数が0未満であるか、TRAINNAMEの要素数以上の値であればエラーになりますが、それ以外のチェックは行われません。
引数がtrain.csvで定義されていない数字でも強制的に実行しようとします。
また、@COM_ABLEを呼び出さず、強制的に実行されます。
必要であればDOTRAINの前に以下のようなチェックを行ってください。
SIF ( X < 0 || X >= VARSIZE("TRAINNAME") || TRAINNAME:X == "" )
RETURN
RESULT = 1
TRYCALLFORM COM_ABLE{X}
SIF RESULT == 0
RETURN
DOTRAIN X
DOTRAINを用いてTRAINのコマンドを独自に実装することもできます。例えば
train.csvを空にしておき、@SHOW_USERCOMで独自に表示し、@USERCOMでDOTRAINを行います。あるいは
train.csvを空にする代わりに全ての@COM_ABLEが0を返すようにしてもよいでしょう。@COM_ABLEを変更する代わりに、全ての@COM_ABLEを削除し、_replace.csvのCOM_ABLE初期値を0にする方法もあります。なお、
CALLTRAINの処理の途中でDOTRAINが行われた場合、CALLTRAINの残りは無効になります。 ヒント
命令のみ対応しています。