EvalStr

 

文字列の評価     

指定した文字列をMagic xpaの式として実行し、実行結果を取得します。

例えばDBテーブル内に処理内容をマクロとして格納したい場合などに便利です。処理内容を1つのプログラムとして作成することで、別のプログラムから実行させることができます。

この関数は、どのようなMagic関数でも実行させることができます。

構文:

EvalStr(文字列, デフォルト値)

パラメータ:

  • 文字列 …… Magic xpaの定義式として評価される文字列

  • デフォルト値 …… 式が正しくない場合に返される値。型は、評価式が返す値の型に合わせる必要があります。

 

例: 1+ EvalStr(string,default value)

 

この場合、default value は、数値にしなければいけません。

戻り値:

式の評価によって返される値。もしこの式が正しくない場合は、デフォルト値が返ります。

例:

EvalStr(A,0):A='3 + 2’の場合、 戻り値は、5 になります。

EvalStr(A,0):A='3 + '  の場合、 戻り値は、0 になります。

注意事項:

式にシングルクォーテーションを含んだ文字列が含まれる場合(文字列やリテラル)は、各クォーテーションに対して2つのシングルクォーテーションを設定する必要があります。

 

例:  EvalStr('DbDel('1'DSOURCE,'MYFILE.DAT')')

             または

         EvalStr('A' & 'B',)='AB'

 

もし文字列がクォーテーションで囲まれていない場合は、項目のシンボル名と見なされます。

 

例: EvalStr('A&B',) =項目A & 項目B

 

項目のシンボル名が間違っている場合、参照内容は無効になります。VarCurrN関数 や VarIndex関数を使用して参照するようにしてください

 

例: EvalStr('VarCurrN('NAME') AND VarCurrN('LAST_NAME'),0)

 

CallProg関数でコールされたプログラムの戻り値に設定すると動作しないことがあります。 コールコマンドで使用してください。

関連トピック:

EvalStrInfo