日本語 Compaq OpenVMS
日本語画面管理ライブラリ
利用者の手引き


前へ 次へ 目次 索引



SMG$CURSOR_COLUMN
- Return Cursor Column Position

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$CREATE_VIRTUAL_DISPLAY ルーチンによって与えられます。


説明

SMG$CURSOR_COLUMN ルーチンは,指定された仮想ディスプレイ内の,現在の仮想カーソルのカラム位置の値を格納するロングワードを戻します。display-id 引数を省略した場合には,このルーチンは SMG$_WRONUMARG を通知します。 display-id 引数が誤っている場合には,このルーチンは SMG$_INVDIS_ID を通知します。

戻される状態値

SMG$_INVDIS_ID display-id 引数に誤りがあります。
SMG$_WRONUMARG 引数の数が誤っています。


SMG$CURSOR_ROW
- Return Cursor Row Position

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$CREATE_VIRTUAL_DISPLAY ルーチンによって与えられます。


説明

SMG$CURSOR_ROW ルーチンは,指定された仮想ディスプレイの現在の仮想カーソルの行番号の値を格納するロングワードを戻します。display-id 引数を省略した場合には,このルーチンは SMG$_WRONUMARG を通知します。display-id 引数が誤っている場合には,このルーチンは SMG$_INVDIS_ID を通知します。

戻される状態値

SMG$_INVDIS_ID display-id 引数に誤りがあります。
SMG$_WRONUMARG 引数の数が誤っています。


SMG$DEFINE_KEY
- Perform a DEFINE/KEY Command

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 コマンドに対して指定できる修飾子は次のとおりです。

DEFINE/KEY コマンドの修飾子に対して,次の 2 つの制約事項が適用されます。


説明

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 から戻された状態値。


SMG$DEL_TERM_TABLE
- Delete Terminal Table

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 正常終了。


SMG$DELETE_CHARS
- Delete Characters

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 ルーチンを呼び出した後で生成される出力



SMG$DELETE_KEY_DEF
- Delete Key Definition

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 引数の数が誤っています。


前へ 次へ 目次 索引