コマンドと関数
コマンド
これらのすべてのコマンドは、WRITE /<ニーモニック> 構文を使用します。この構文の基本情報の詳細は、"Caché 入出力デバイス・ガイド" の"入出力コマンドの概要"、および "Caché ObjectScript リファレンス" の "WRITE" コマンドを参照してください。
使用されるターミナルの種類をシステムに伝えます。^%SYS("tercap") グローバルに表示されるターミナルのいずれかを指定する必要があります (Caché には一般的に使用されるいくつかのターミナルが既に定義されていますが、他のターミナルの記述も作成できます)。このコマンドを発行すると、以下の動作がトリガされます。
-
ターミナル機能が含まれたローカル・テーブルをロードします。
-
ターミナルが正常に動作するように、文字ウィンドウ・モードと互換性のあるターミナルに初期化文字列が送信されます。
以下は、その例です。
W /INIT ; same as W /INIT("Terminal")
W /INIT("vt100")
W /INIT("vt320")
W /INIT("SCO ANSI")
文字ウィンドウの操作が終わり、ターミナルを /INIT が発行される前の状態にリストアするには、/END コマンドを発行する必要があります。
ニーモニック空間を構築して、ターミナルのタイプを指定したら、以下のテーブルに従い、文字ウィンドウのサブシステムに適切な互換モードを設定する必要があります。
モード | 意味 |
---|---|
-1 | 文字ウィンドウのサブシステムを無効にして、無効の状態で引き続き動作します。これは終了モードです。 |
0 | DataTree/DTM 互換モード |
1 | Ipsum MUMPS 互換モード |
2 | Extensao SuperMUMPS 互換モード |
ウィンドウが開いている状態でモードを変更すると、以下のようになります。
-
すべてのウィンドウが閉じます。
-
新しいモードが -1 ではない場合、ベース・ウィンドウが開いています。ベース・ウィンドウが画面全体を占めます。このウィンドウには境界線がありません。
形式は以下のようになります。
/WOPEN([wid,]col,line,width,height,border,
attr,battr,caption,cpos,wfc,wbc,bfc,bbc)
以下のパラメータでウィンドウを開きます。
パラメータ |
値 |
---|---|
wid | ウィンドウの ID (0 より大きい)。 |
Ipsum モード : プログラマは、0 より大きい固有の数値 ID をウィンドウごとに用意する必要があります。 | |
他のモード : 内部ウィンドウ ID が選択されるため、このパラメータは存在しません。 | |
col | クライアント領域の左端にある画面の文字の列。 |
line | クライアント領域の上部の画面の行。 |
width | クライアント領域のディメンジョン :文字の列幅。 |
height | クライアント領域のディメンジョン :高さは行数。 |
border | DTM 規約に準じた、境界線のスタイルは以下のとおりです。 |
0 - なし | |
1 - 単線 | |
2 - 二重線 | |
3 - 太線 | |
4 - ブロック | |
5 - 薄い点線 | |
6 - 濃い点線 | |
7 - ライト・バー | |
8 - 中間幅のバー | |
9 - 太いバー | |
10 - ASCII グラフィック ('-'、'|'、および '+') | |
規定値は 0 です。ターミナルに表示される実際の文字は、出力変換テーブルや、ユーザによって (後で) 境界線の文字用に選択されるコードによって異なります。 | |
attr | ウィンドウの属性。 |
"/hon"、"/ron"、"/uon"、"/bon"、"/hoff"、"/boff"、"/uoff"、"/roff" などの属性があります。 詳細は、"ターミナルの関数" を参照してください。既定値は "" (なし) です。 | |
battr | 境界線の属性。attr と同じです。 |
caption | ウィンドウのキャプション (境界線のスタイルがなし (0) の場合は表示されません)。既定値は "" (なし) です。 |
cpos | キャプションの位置は以下のとおりです。 |
"tl" 左上 | |
"tc" 上中央 | |
"tr" 右上 | |
"bl" 左下 | |
"bc" 下中央 | |
"br" 右下 | |
"l" 左の上下 | |
"c" 中央の上下 | |
"r" 右の上下 | |
既定値は "" です。キャプションを上下に入れる必要がある場合、キャプションのパラメータの形式を "top caption:bottom caption" のようにします。 | |
wfc | ウィンドウの前景色。既定値は現在の色です。 |
wbc | ウィンドウの背景色。既定値は現在の色です。 |
bfc | 境界線の前景色。既定値は現在の色です。 |
bbc | 境界線の背景色。すべての色のパラメータについて、黒は 0、白は 7 になります。既定値は現在の色です。 |
アクティブ・ウィンドウ (常に最上位) を閉じます。このウィンドウで非表示になっていた画面の文字がリストアされます。"z-order" の次のウィンドウがアクティブになります。
アクティブ・ウィンドウになるウィンドウ wid を選択します。このウィンドウは、他のウィンドウによって非表示になった場合でも最前面に表示されます。
形式 :
/WLIM(col,line,width,height,border,attr,battr,caption,cpos,wfc,wbc,bfc,bbc)
通常の一時使用のために、アクティブ・ウィンドウに新しい制限 (新しいフレーム) を定義します。新しい境界線は、アクティブ・ウィンドウにも境界線がある場合のみ、新しい領域に描画されます。col と line の値は、現在のウィンドウに関連しています。アクティブ・ウィンドウの最初の制限をリストアするには、/WLIM を呼び出します。
形式は以下のようになります。
/BOX(x1,y1,x2,y2,border,battr,caption,cpos,char,wfc,wbc,bfc,bbc)
左上隅 (x1、y1)、右下隅 (x2、y2) のボックスに文字 char を入れて描画します。隅の位置は、アクティブ・ウィンドウの現在のフレームに相対しています。境界線のスタイルと他のパラメータは、/WOPEN と同じです。char パラメータが省略された場合、文字は何も入りません。
形式は以下のようになります。
/FILL(x1,y1,x2,y2,char,wfc,wbc)
左上隅 (x1、y1)、右下隅 (x2、y2) の長方形に文字 char を入れて、wfc、wbc の色で塗りつぶします。
Caché を終了するときにターミナルに送信される制御シーケンスです。これを使用して、ターミナルを Caché の起動前の構成にリストアします。また、ターミナル機能のテーブルを削除して、入出力変換を無効にします。以前の変換テーブルをリストアする必要がある場合、明示的なプログラミングで実行する必要があります。/INIT を呼び出す前に保存して、/END の後にリストアする必要があります。
ウィンドウのステータス
$$ZWSTATUS^%CHARWIN() 外部関数と $$ZWSTATUS^%CHARWIN 外部特殊変数を使用して、使用中のウィンドウの情報を取得できます。
$$ZWSTATUS^%CHARWIN(wid) 関数
この関数はすべての言語モードで同様に機能します。ID 番号が wid のウィンドウのステータスを返します。wid で指定したウィンドウが開いていない場合、すべてのフィールドは -1 を返します。
ステータスは、以下のフィールドを含む文字列がセミコロンで区切られた状態で示されます。
col;line;width;height;border;attr;battr;curcol;curline;curattr
これらのフィールドは、以下の値を指定します。
col;line | ウィンドウの左上隅 |
width;height | ウィンドウのディメンジョン |
border | 境界線のスタイル。 |
attr | ウィンドウの属性。 |
battr | 境界線の属性 |
curcol;curline | 現在のカーソルの位置。 |
curattr | 現在の文字の属性 |
$$ZWSTATUS^%CHARWIN 特殊変数
$$ZWSTATUS^%CHARWIN 特殊変数値は、言語モードによって異なります。
-
DTM モード — NULL 文字列を返します。
-
Ipsum モード — 現在のウィンドウ数を返します。開いているウィンドウがない場合は 0 を返します。
-
SuperMUMPS モード — $ZWINDOW SuperMUMPS 特殊変数に相当する、コンマで区切られたフィールドの文字列を返します。
winline,wincol,winheight,winwidth,limline,limcol,limheight,limwidth, curline,curcol,curst,border,attr,visib,proc,wid
これらのフィールドは以下の値を指定します。
winline,wincol アクティブ・ウィンドウの左上隅。 winheight,winwidth アクティブ・ウィンドウのディメンジョン。 limline,limcol ウィンドウ領域に対する、左上隅の現在の制限。 limheight,limwidth 現在の制限のディメンジョン。 curline,curcol 現在のカーソルの位置。 curst カーソルのステータス (0 = オフ、1 = オン)。 border 境界線のスタイル。 attr 現在の映像属性。属性フィールドは、"/hon"、"/aoff" などの文字列を返します。属性の一覧は、"/WOPEN" を参照してください。 visib ウィンドウの可視性 (0 = 非表示、1 = 表示)。 proc 現在のプロセス番号。 wid アクティブ・ウィンドウの ID 番号。