7.8.1 SWpGET/SWpSET(SWpSTX)/SWCGET/SWCSET(SWCSTX)

1.
機能
SWpGET/SWpSET(SWpSTX) は整数・実数・論理型の 内部変数について, SWCGET/SWCSET(SWCSTX) は文字型の内部変数について 参照/変更する. (SWpSTX/SWCSTX は実行時オプションによる変更を許す. )

2.
呼び出し方法
CALL SWpGET(CP,IPARA)
CALL SWpSET(CP,IPARA)
CALL SWpSTX(CP,IPARA)
CALL SWCGET(CP,CPARA)
CALL SWCSET(CP,CPARA)
CALL SWCSTX(CP,CPARA)

3.
引数の説明
CP (C*8) 内部変数の名前.
IPARA (I,R,L) (整数・実数・論理型の)内部変数の値.
CPARA (C*(*)) (文字型の)内部変数の値.



以下に, 電脳ライブラリが標準的に提供する図形出力装置 (Xサーバー, ポストスクリプト, テクトロ端末)に対し, CPとして指定できる名前のリストを記す. 値が整数・実数・論理型のものは SWpGET/SWpSET(SWpSTX)で 指定する; 値が文字型のものは SWCGET/SWCSET(SWCSTX)で 指定する.



'FONT1', 'CL2TN' などデータベースファイル名を示す 内部変数は, その内部変数の値がファイル名としてそのまま 利用されるとは限らない. 実際に利用されるファイル名は SWQFNM が決める. その時のヒントとして これらのパラメータ名は定義されていなければならない. 標準ライブラリではまずカレントディレクトリを探す. 次にGLCGET/GLCSETが管理する内部変数 'DUPATH'(ユーザーの指定するパス名)のさすディレクトリを探す. 最後に内部変数'DSPATH'(システムがあらかじめ用意するパス名)の さすディレクトリを探す.



また, 出力装置に依存して.x11, .psxなどのサフィックスの ついたものを優先的に探したりする. たとえば, 標準ライブラリにおいて 'CLRMAP' の示すファイル名を 探すときに, 出力装置として X サーバーを選んでいれば, まず .x11 のサフィックスのついたものが探される; 次にサフィックスなしのものが探される; 最後に .psx のサフィックスのついたものが探される. いっぽう, 出力装置として ポストスクリプトを選んでいれば, まず .psx のサフィックスのついたものが探される; 次にサフィックスなしのものが探される; 最後に .x11 のサフィックスのついたものが探される.



[すべての出力装置に共通なパラメーター] - SWPACK がどのような出力装置を実現していても, これらの内部変数名は定義されていなければならない.

'MAXWNU' (I) SWPACKが実現している出力装置の数、標準ライブラリにおける値は3(X,PS,Tek)である。
'IWS' (I) オープンする装置番号。1から 'MAXWNU'の間の値を指定する。(初期値は1)。この番号はSGOPNが指定する。
'WSNAMEnn' (C) ワークステーション名(1 nn 'MAXWNU')。標準ライブラリにおける値は、'WSNAME01'='X'(Xサーバー),'WSNAME02'='PS'(ポストスクリプト),'WSNAME3'='Tek'(テクトロ端末)となっている。
'FONTn' (C) フォントファイル名(n=1,2). 標準ライブラリにおける値は、'FONT1'='font1u','FONT2'='font2u'.
'CL2TN' (C) カラー番号をトーンパターン番号に読み替えるためのファイル名。標準ライブラリにおける値は'cl2tnmap'.



[Xサーバー(X)およびポストスクリプト(PS)に共通なパラメーター]


'IWIDTH' (I) イメージウィンドウの横方向のサイズ(省略値は900)
'IHEIGHT' (I) イメージウィンドウの縦方向のサイズ(省略値は650).Xでは、'IWIDTH', 'IHEIGHT'のウィンドウがオープンされる。PSでは、縦横比が'IHEIGHT':IWIDTH'の描画領域が最大描画領域に最大内接するように用意されている。
'FNAME' (C) 出力ファイル名(省略値は'dcl')。この値が'*'あるいは空白のとき、現在実行中のプログラム名が用いられる。Xのダンプファイル名、PSの複数ページ出力のためのファイル名として用いられるとき、この名前に'_nnn' (nnnはページ番号)をつけたものとなる。さらにXのダンプファイル名の場合は'.xwd'のサフィックスがつく;PSファイル名の場合は'.ps'のサフィックスがつく。
'TITLE' (C) タイトル名(省略値は'*')。この値が*'あるいは空白のとき、DCLVNM(MISC1/MISKLIB参照)が返すバージョン名となる。Xの場合、このタイトル名はウインドウのタイトル名として用いられる;PSの場合、タイトル名はコメント部分のCreater部分に書かれる。
'CLRMAP' (C) カラーマップを収めたファイル名。標準ライブラリにおける値は'colormap'。


  
[Xサーバー(X)に関するパラメーター]


'IPOSX' (I) ウィンドウの位置を示すX座標。(省略値はー999)。
'IPOSY' (I) ウィンドウの位置を示すY座標。(省略値はー999)。 (IPOSX,IPOSY)=(-999,-999)のときユーザーがマウスで指定する。
'LWAIT' 改ページのタイミングで一時停止するかどうかを指定する。.TRUE.なら一時停止する;.FALSE.なら一時停止しない。(省略値は.TRUE.)
'LWAIT0' (L) デバイスをオープンするタイミングで一時停止するかどうかを指定する。.TRUE.なら一時停止する;.FALSE.なら一時停止しない。(省略値は.FALSE.)
'LWAIT1' (L) デバイスをクローズするタイミングで一時停止をするかどうかを指定する。.TRUE.なら一時停止する;.FALSE.なら一時停止しない。(省略値は.TRUE.)
'LDUMP' (L) Xのダンプファイル(xwd)を作成するかどうかを指定する。.TRUE.なら作成する;.FALSE.なら作成しない。(省略値は.FALSE.)
'LALT' (L) 裏画面で描画するかどうかを指定する。.TRUE.なら裏画面で描画する;.FALSE.なら裏画面で描画しない。(省略値は.FALSE.)
'LKEY' (L) 一時停止しているときに、キーボードからの指定を有効にするかどうかを指定する。.TRUE.なら有効にする;.FALSE.なら有効にしない。(省略値は.TRUE.)
SP, RETURN : 次ページに進む.
s : 'LWAIT'を.FALSE. にする.
w : 'LWAIT'を.TRUE. にする.
d : ダンプファイルを作成する.
q : 実行を中止する.
'BITMAP' (L) ビットマップを収めたファイル名。標準ライブラリにおける値は'bitmap'。



[ポストスクリプト(PS)に関するパラメーター]

 
'LCOROL' (L) カラー対応したPSファイルを出力するかどうかを指定する。.TRUE.ならカラー用のPSファイルを出力する;.FALSE.ならモノクロ用のPSファイルを出力する。(省略値は.TRUE.)
'LSEP' (L) 出力ファイルを1ページごとに分割して出力するかどうかを指定する。.TRUE.なら分割する;.FALSE.なら分割しない。(省略値は.FALSE.)
'LPRINT' (L) 作成された出力ファイルをプリンターに直接出力するかどうかを指定する。.TRUE.ならプリンターに直接出力する;.FALSE.なら出力しない。(省略値は.FALSE.)
'LPR' (C) 'LPRINT' を.TRUE.としたときに用いられるプリントコマンドを指定する。(省略値は'lpr')


[テクトロ端末(Tek)に関するパラメーター]
'LWAIT' (L) 改ページのタイミングで一時停止をするかどうかを指定する。.TRUE.なら一時停止する;.FALSE.なら一時停止しない。(省略値は.TRUE.)
'NLNSIZE' (I) テクトロ画面のうちコンソール部分の1行の長さわ指定する。(省略値は21)

4.
備考
(a)
内部変数を管理するための下請けルーチンとして 以下のものがある. ここではサブルーチン名をあげるにとどめる.
SWPQNP SWPQID SWPQCP SWPQVL SWPSVL
SWCQNP SWCQID SWCQCP SWCQVL SWCSVL
(b)
SWpGETは上に述べたSWPQIDを呼んで 内部変数の位置を求め, SWPQVLによって値を参照する; SWpSETSWPQIDを呼んで内部変数の位置を求め, SWPSVLによって値を設定する. したがって指定した内部変数名が見つからないとき, エラーメッセージはSWPQIDが出力する.
(c)
SWCGET は上に述べたSWCQIDを呼んで 内部変数の位置を求め, SWCQVLによって値を参照する; SWCSETSWCQIDを呼んで内部変数の位置を求め, SWCSVLによって値を設定する. したがって指定した内部変数名が見つからないとき, エラーメッセージはSWCQIDが出力する.
(d)
IPARAとしては適切な型の定数または変数を指定すること.