2.4.2 GLCGET/GLCSET(GLCSTX)

1.
機能
MATH1で使用する文字型の内部変数を参照/変更する. (GLCSTX は実行時オプションによる変更を許す. )
2.
呼び出し方法
CALL GLCGET(CP,CPARA)
CALL GLCSET(CP,CPARA)
CALL GLCSTX(CP,CPARA)
3.
パラメーターの説明
CP (C*8) 内部変数の名前.
CPARA (C*(*)) 文字型の内部変数の値.



以下にCPとして指定できる名前のリストを記す.



'DCLRC' (C) 実行時オプションを読み込む外部ファイル名 (標準ライブラリにおける値は .dclrc). ただし, この内部変数の値がそのままファイル名として 用いられるわけではない. 備考を参照のこと.
'DUPATH' (C) ユーザー用の各種データベースファイルをおくパス名. 標準ライブラリにおける初期値は ' ' (空白: これはカレントディレクトリをあらわす).
'DSPATH' (C) システムがあらかじめ用意した各種データベースファイルを おくパス名. 標準ライブラリにおける値は, インストール時に $(DCLDBASE) が示す値となる.

4.
備考
(a)
内部変数を管理するための下請けルーチンとして 以下のものがある.
GLCQNP(NCP) 内部変数の総数 NCPを求める.
GLCQID(CP,IDX) 内部変数 CPの位置 IDXを求める.
GLCQCP(IDX,CP) IDXの位置にある内部変数の名前 CPを参照する.
GLCQVL(IDX,CPARA) IDXの位置にある内部変数の値 IPARAを参照する.
GLCSVL(IDX,CPARA) IDXの位置にある内部変数の値 IPARAを変更する.
(b)
GLCGET は上に述べたGLCQIDを呼んで 内部変数の位置を求め, GLCQVLによって値を参照する; GLCSETGLCQIDを呼んで内部変数の位置を求め, GLCSVLによって値を設定する. したがって指定した内部変数名が見つからないとき, エラーメッセージはGLCQIDが出力する.
(c)
内部変数の名前は, 大文字・小文字の区別なく文字列を比較する 文字関数LCHREQを用いてチェックされるので, LCHREQが正しく移植されていれば, 小文字で指定してもよい.
(d)
このルーチンが管理する内部変数を, 外部ファイルを通した 実行時オプションによって変更することはできない. (なぜなら, 再帰的なループに入り込んでしまうため. )
(e)
'DCLRC' が示す内部変数は, その内部変数の値がファイル名としてそのまま利用される わけではない. 実際に利用されるファイル名は GLQFNM が決める. 標準ライブラリではまずカレントディレクトリを探す. 次に内部変数'DUPATH' (ユーザーの指定するパス名)の さすディレクトリを探す. 最後に内部変数'DSPATH'(システムがあらかじめ 用意するパス名)のさすディレクトリを探す.