ページの先頭行へ戻る
WSMGR V9 使用手引書
FUJITSU Software

8.3.2 変数

変数は値を一時的に代入することができます。変数を使用することにより、マクロ内の関数の処理結果を受け渡したり、制御文の条件式を簡潔に記述することができます。


■変数名

変数はマクロファイル内で定義が可能です。


●命名規約

変数は以下の命名規約に従って定義してください。

●留意事項

変数の定義には以下の留意事項があります。

■種類

WSMGRで使用できる変数には各種の型と環境変数があります。


●整数型

整数型は範囲が-2147483648~2147483647の整数を代入できる変数です。

●文字列型

文字列型は文字列を代入できる変数です。文字列型の変数には、半角換算で最大4096文字(全角換算で2048文字)の文字列が代入できます。文字列は必ずダブルクォーテーション(")で囲って指定してください。ダブルクォーテーション(")を文字列として指定したい場合は、ダブルクォーテーションを2つ並べて記述してください。この場合、1文字分のダブルクォーテーションは文字列の長さには含まれません。

●論理値型

論理値型は論理値(TRUE、またはFALSE)を代入できる変数です。整数型も代入可能ですが、代入された整数が0の場合はFALSE、0以外の場合はTRUEとして扱います。

●Windows環境変数

Windowsの環境変数が使用できます。使用可能なWindows環境変数はシステムにより異なるため、各システムのマニュアルを参照してください。

●その他の環境変数

WSMGRにより定義済みの以下の環境変数が使用できます。本変数は参照のみ可能で、値の操作はできません。

変数名

説明

WSMGR_ICONNAME

文字列

接続アイコン名

WSMGR_TNIPADDR

文字列

端末のIPアドレス

WSMGR_TNHOSTNAME

文字列

端末のホスト名


変数の有効範囲

変数は制御ブロック(IF/ELSEIF/ELSE/ENDIF、またはWHILE/ENDWHILEで囲まれた部分)内で有効です。同一の制御ブロック内に、同じ変数名を重複して定義することはできませんが、制御ブロックが異なる場合は同じ変数名でも別の変数として扱われます。
制御ブロックが入れ子の階層ブロックになる場合は、ブロックの上位の階層で定義された変数は、下位のブロックから参照することができます。反対に下位のブロックで定義された変数を上位で参照することはできません。

●使用例

        IF ( 条件文 )
                CrtInt (val, 0)              ; 変数「val」を定義します。

                WHILE ( 条件文 )
                       PutValue (val, 10)    ; 変数「val」を参照できす。
                ENDWHILE

                CrtInt (val, 0)              ; 誤りです。変数「val」はすでに定義されています。
        ELSE
                CrtInt (val, 0)              ; 定義可能です。IF文と制御ブロックが異なります。
        ENDIF