Eval関数
コマンドウィンドウのステートメントを実行し、エラー状態を返します。
書式
Eval(コマンド [, コマンドの出力結果] )
パラメーター
- コマンド
- 実行するコマンドを文字列で指定します。
- コマンドの出力結果
- コマンドの出力結果を格納する文字列変数を指定します。省略可能です。コマンドがエラーとなった場合は "!Error: エラーコード"が返されます。出力結果が255文字を超えた場合、超えた結果は切り捨てられます。
戻り値
コマンドの実行によって戻されるエラーコードを返します。
コマンド実行がエラーとなっても、本関数そのものはエラーとなりません。また、システムログにもエラーは残りません。
コマンドが正常終了した場合は"0"を返します。
解説
Eval関数を使用すると、TCP/IPなどの通信ポートから任意のコマンドを実行できます。
実行できるコマンドは、コマンドウィンドウから実行可能なコマンドです。
コマンド文字列中にダブルクォーテーション(”)を使用できます。
本関数の実行には、通常のステートメント実行より処理時間がかかります。
コマンドからの戻り値を得るためには、コマンドの出力結果パラメーターを使います。例えば、"Print Sw(1)"というコマンドに対し、コマンドの出力結果は、"1"あるいは"0"が返されます。
参照
エラーメッセージ一覧
Eval関数使用例
下記の例では、RS-232Cで読まれるコマンドをどのように実行するか示しています。コマンドが実行された後、エラーコードがホストに返されます。例えば、ホストからは"motor on"などのコマンドが送られます。
Integer errCode
String cmd$
OpenCom #1
Do
Line Input #1, cmd$
errCode = Eval(cmd$)
Print #1, errCode
Loop