前へ | 次へ | 目次 | 索引 |
Return Cursor Column Position ルーチンは,指定された仮想ディスプレイ内の仮想カーソルの,現在のカラム位置を戻します。
SMG$CURSOR_COLUMN display-id
OpenVMS 用法 longword_unsigned データ型 longword (unsigned) アクセス write only 受け渡し方 by value
SMG$CURSOR_COLUMN ルーチンは現在の仮想カーソルのカラム位置を戻します。
display-id
OpenVMS 用法 identifier データ型 longword (unsigned) アクセス read only 受け渡し方 by reference
カラム位置が戻される対象となるディスプレイ。 display-id 引数は,ディスプレイ識別子を格納した符号なしロングワードのアドレスです。
SMG$CURSOR_COLUMN ルーチンは,指定された仮想ディスプレイ内の,現在の仮想カーソルのカラム位置の値を格納するロングワードを戻します。display-id 引数を省略した場合には,このルーチンは SMG$_WRONUMARG を通知します。 display-id 引数が誤っている場合には,このルーチンは SMG$_INVDIS_ID を通知します。
SMG$_INVDIS_ID display-id 引数に誤りがあります。 SMG$_WRONUMARG 引数の数が誤っています。
Return Cursor Row Position ルーチンは,指定された仮想ディスプレイ内で仮想カーソルの現在の行番号を戻します。
SMG$CURSOR_ROW display-id
OpenVMS 用法 longword_unsigned データ型 longword (unsigned) アクセス write only 受け渡し方 by value
SMG$CURSOR_ROW ルーチンは現在の行番号を戻します。
display-id
OpenVMS 用法 identifier データ型 longword (unsigned) アクセス read only 受け渡し方 by reference
行番号が戻される対象となるディスプレイ。display-id 引数は,ディスプレイ識別子を格納した符号なしロングワードのアドレスです。
SMG$CURSOR_ROW ルーチンは,指定された仮想ディスプレイの現在の仮想カーソルの行番号の値を格納するロングワードを戻します。display-id 引数を省略した場合には,このルーチンは SMG$_WRONUMARG を通知します。display-id 引数が誤っている場合には,このルーチンは SMG$_INVDIS_ID を通知します。
SMG$_INVDIS_ID display-id 引数に誤りがあります。 SMG$_WRONUMARG 引数の数が誤っています。
Perform a DEFINE/KEY Command ルーチンは,ユーザが指定した DEFINE/KEY コマンドを実行します。
SMG$DEFINE_KEY key-table-id ,command-string
OpenVMS 用法 cond_value データ型 longword(unsigned) アクセス write only 受け渡し方 by value
key-table-id
OpenVMS 用法 identifier データ型 longword(unsigned) アクセス read only 受け渡し方 by reference
DEFINE/KEY コマンドが実行されるキー定義テーブルの識別子。 key-table-id 引数は,キー・テーブル識別子を格納した符号なしロングワードのアドレスです。key-table-id 引数は SMG$CREATE_KEY_TABLE ルーチンによって与えられます。
command-string
OpenVMS 用法 char_string データ型 character string アクセス read only 受け渡し方 by descriptor
実行される DEFINE/KEY コマンドを格納した文字列。command-string 引数は,実行されるコマンドを示すディスクリプタのアドレスです。DEFINE/KEY コマンドに対して指定できる修飾子は次のとおりです。
- /TERMINATE
- /NOECHO
- /LOCK
- /IF_STATE
- /SET_STATE
DEFINE/KEY コマンドの修飾子に対して,次の 2 つの制約事項が適用されます。
- /LOCK 修飾子を使用する場合には,/SET_STATE 修飾子も使用しなければならない。
- /SET_STATE 修飾子と /TERMINATE 修飾子をどちらとも使用する場合には, /LOCK 修飾子は使用できない。
SMG$DEFINE_KEY ルーチンは,DEFINE/KEY コマンドを解析し,実行します。 DEFINE/KEY コマンドを受け付けるだけで,そのコマンドを独自に解析しないプログラムは,このルーチンを使用できます。SMG$DEFINE_KEY ルーチンは,CLI$DCL_PARSE ルーチンを呼び出すことにより,コマンド行を解析し,その後,必要に応じて SMG$ADD_KEY_DEF ルーチンを呼び出します。もとのコマンドは,CLI$DCL_PARSE を呼び出すことにより復元できます。このプロシージャを使用する場合には,DCL Command Language Interpreter のもとでイメージを実行していなければなりません。
SS$_NORMAL 正常終了。 SMG$_WRONUMARG 引数の数が誤っています。 その他 LIB$SCOPY_DXDX,CLI$ ルーチン,SMG$ADD_KEY_DEF から戻された状態値。
Delete Terminal Table ルーチンは,個人用の TERMTABLE.EXE に対するアクセスを終了し,仮想アドレス空間の割り当てを解除します。
SMG$DEL_TERM_TABLE
OpenVMS 用法 cond_value データ型 longword (unsigned) アクセス write only 受け渡し方 by value
なし
データ型 アクセス
SMG$DEL_TERM_TABLE ルーチンは,個人用の TERMTABLE.EXE に対するアクセスを終了します。このルーチンの呼び出しは必ずしも必要ありません。このルーチンは,個人用の TERMTABLE.EXE によって使用されていた仮想アドレス空間を,呼び出しプログラムが再利用しなければならないときに便利です。このルーチンを使用しなければならないのは,漢字ターミナルに対して直接に日本語 SMG ルーチン以外の入出力を実行する場合だけです。
SS$_NORMAL 正常終了。
Delete Characters ルーチンは仮想ディスプレイのカラムを削除します。
SMG$DELETE_CHARS display-id ,number-of-columns ,start-row ,start-column
OpenVMS 用法 cond_value データ型 longword (unsigned) アクセス write only 受け渡し方 by value
display-id
OpenVMS 用法 identifier データ型 longword (unsigned) アクセス read only 受け渡し方 by reference
カラムが削除される仮想ディスプレイの識別子。 display-id 引数は,仮想ディスプレイの識別子を格納した符号なしロングワードのアドレスです。この引数は SMG$CREATE_VIRTUAL_DISPLAY ルーチンによって与えられます。
number-of-columns
OpenVMS 用法 longword_signed データ型 longword (signed) アクセス read only 受け渡し方 by reference
削除カラム数。 number-of-columns 引数は,削除するカラム数を格納した符号付きロングワードのアドレスです。start-row
OpenVMS 用法 longword_signed データ型 longword (signed) アクセス read only 受け渡し方 by reference
削除開始行。 start-row 引数は,削除操作を開始する行の位置を格納した符号付きロングワードのアドレスです。start-column
OpenVMS 用法 longword_signed データ型 longword (signed) アクセス read only 受け渡し方 by reference
削除開始カラム。 start-column 引数は,削除操作を開始するカラムの位置を格納した符号付きロングワードのアドレスです。start-column 引数が全角文字の右半分である場合は,その文字の左半分は未定義文字になります。
SMG$DELETE_CHARS ルーチンは,指定された行/カラム位置から,指定されたカラム数だけ削除します。この行の残りのカラムは左に移動し,削除された部分を埋めます。単一行中のカラムだけを削除します。削除できるカラム数より多くのカラム数を指定した場合,SMG$DELETE_CHARS ルーチンは指定されたカラムから行の最後までのカラムを削除します。
DEC漢字文字集合を使用している際に,全角文字の右半分から削除操作が始まる場合は,その文字の左半分は未定義文字になります。また,全角文字の左半分で削除操作が終了する場合は,その文字の右半分は未定義文字になります。
このルーチンを終了した後に,仮想カーソルは削除された最初のカラム位置に移動します。
SS$_NORMAL 正常終了。 SMG$_INVARG 引数が誤っています。指定されたカラム数が仮想ディスプレイの幅をこえます。 SMG$_INVCOL カラム位置が誤っています。指定されたカラムは仮想ディスプレイの内部に含まれません。 SMG$_INVDIS_ID display-id 引数が誤っています。 SMG$_INVROW 行の位置が誤っています。指定された行は仮想ディスプレイの内部に含まれていません。 SMG$_WILUSERMS ペーストボードがビデオ・ターミナルでありません。 SMG$_WRONUMARG 引数の数が誤っています。
#1 |
---|
C+ C This DEC FORTRAN example program demonstrates the use of C SMG$DELETE_CHARS. C- INTEGER SMG$CREATE_VIRTUAL_DISPLAY, SMG$CREATE_PASTEBOARD INTEGER SMG$PASTE_VIRTUAL_DISPLAY, SMG$PUT_CHARS INTEGER SMG$DELETE_CHARS, DISPLAY1, PASTE1 INTEGER ROWS, COLUMNS, BORDER, STATUS C+ C Create the virtual display be calling SMG$CREATE_VIRTUAL_DISPLAY. C To give it a border, set BORDER = 1. No border would be BORDER = 0. C- ROWS = 7 COLUMNS = 50 BORDER = 1 STATUS = SMG$CREATE_VIRTUAL_DISPLAY 1 (ROWS, COLUMNS, DISPLAY1, BORDER) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Call SMG$CREATE_PASTEBOARD to create the pasteboard. C- STATUS = SMG$CREATE_PASTEBOARD (PASTE1) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Use SMG$PUT_CHARS to put data in the virtual display. C- STATUS = SMG$PUT_CHARS ( DISPLAY1, 1 ' This virtual display has 7 rows and 50 columns.', 2, 1) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) STATUS = SMG$PUT_CHARS ( DISPLAY1, 1 ' This is a bordered virtual display.', 4, 1) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) STATUS = SMG$PUT_CHARS ( DISPLAY1, 1 ' SMG$PUT_CHARS puts data in this virtual display.',6, 1) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Paste the virtual display to the pasteboard using C SMG$PASTE_VIRTUAL_DISPLAY. C- STATUS = SMG$PASTE_VIRTUAL_DISPLAY ( DISPLAY1, PASTE1, 4, 15) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Call SMG$DELETE_CHARS to delete 4 characters from row 4 C starting from character (column) 14, removing the characters C "rder" from the word "bordered". C- STATUS = SMG$DELETE_CHARS ( DISPLAY1, 4, 4, 14) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) END |
この FORTRAN プログラムによって,SMG$DELETE_CHARS ルーチンを呼び出す前に生成される出力は 図 8-10 に示すとおりです。
図 8-10 SMG$DELETE_CHARSルーチンを呼び出す前に生成される出力
SMG$DELETE_CHARS ルーチンを呼び出した後で生成される出力は, 図 8-11 に示すとおりです。
図 8-11 SMG$DELETE_CHARS ルーチンを呼び出した後で生成される出力
Delete Key Definition ルーチンは,指定されたキー定義テーブルからキー定義を削除します。
SMG$DELETE_KEY_DEF key-table-id ,key-name [,if-state]
OpenVMS 用法 cond_value データ型 longword(unsigned) アクセス write only 受け渡し方 by value
key-table-id
OpenVMS 用法 identifier データ型 longword(unsigned) アクセス read only 受け渡し方 by reference
キー定義を削除するキー・テーブルを指定します。key-table-id 引数は,キー・テーブル識別子を格納した符号なしロングワードのアドレスです。key-name
OpenVMS 用法 char_string データ型 character string アクセス read only 受け渡し方 by descriptor
定義を削除するキーの名前を格納した文字列。key-name 引数は,キー名を示すディスクリプタのアドレスです。実際に使用される前に,key-name 引数から後続の空白は削除され,大文字に変換されます。使用できるキー名については,本書の 第 3 章 の 表 3-1 を参照してください。
if-state
OpenVMS 用法 char_string データ型 character string アクセス read only 受け渡し方 by descriptor
key-name 引数をさらに条件指定する状態名を格納した文字列。 if-state 引数は,状態名を示すディスクリプタのアドレスです。この引数を省略した場合には,無状態が使用されます。したがって,キーに複数の定義を割り当てて,if-state 引数の値に応じて適切な定義を使用する場合には,このルーチンがそれらの定義の中から 1 つの定義だけを削除します。
SMG$DELETE_KEY_DEF ルーチンは,指定されたキー定義テーブルからキー定義を削除します。
SS$_NORMAL 正常終了。 SMG$_INVKEYNAM key-name 引数に誤りがあります。 SMG$_INVKTB_ID key-table-id 引数に誤りがあります。 SMG$_KEYDEFPRO キー定義が保護されています。 SMG$_KEYNOTDEF キーが定義されていません。 SMG$_WRONUMARG 引数の数が誤っています。
前へ | 次へ | 目次 | 索引 |