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