日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS ドキュメント
ライブラリ

タイトルページ
目次
まえがき
第 1 部:概論
第 1 章:日本語SMG (SMG$)の概要
第 2 章:日本語 SMG の出力操作
第 3 章:日本語 SMG 入力操作
第 4 章:日本語 SMG の高度な機能
第 5 章:フォーリン・ターミナルのサポート
第 6 章:日本語 SMG を使用したプログラム開発
第 7 章:日本語 SMG ルーチンの呼び出しの例
第 2 部:リファレンス・セクション
第 8 章:日本語 SMG リファレンス
コマンド一覧
索引
PDF
OpenVMS ホーム
日本語 OpenVMS

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


目次 索引




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漢字または Super DEC 漢字文字集合を使用している際に,全角文字の右半分から削除操作が始まる場合は,その文字の左半分は未定義文字になります。また,全角文字の左半分で削除操作が終了する場合は,その文字の右半分は未定義文字になります。

このルーチンを終了した後に,仮想カーソルは削除された最初のカラム位置に移動します。


戻される状態値

SS$_NORMAL 正常終了。
SMG$_INVARG 引数が誤っています。指定されたカラム数が仮想ディスプレイの幅をこえます。
SMG$_INVCOL カラム位置が誤っています。指定されたカラムは仮想ディスプレイの内部に含まれません。
SMG$_INVDIS_ID display-id 引数が誤っています。
SMG$_INVROW 行の位置が誤っています。指定された行は仮想ディスプレイの内部に含まれていません。
SMG$_WILUSERMS ペーストボードがビデオ・ターミナルでありません。
SMG$_WRONUMARG 引数の数が誤っています。


#1
C+ 
C This 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 引数の数が誤っています。




Delete Line ルーチンは仮想ディスプレイの行を削除します。

形式

SMG$DELETE_LINE display-id ,start-row [,number-of-rows]


戻り値



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

start-row

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


削除開始行。 start-row 引数は,削除する最初の行の番号を格納した符号付きロングワードのアドレスです。

number-of-rows

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


削除行数。 number-of-rows 引数は,削除する行数を格納した符号付きロングワードのアドレスです。


説明

SMG$DELETE_LINE ルーチンは,1行以上を仮想ディスプレイから削除し,残りの行を上にスクロールさせ削除された部分を埋めます。仮想ディスプレイの下部には空行が挿入されます。仮想カーソルは,start-row 引数で指定された行の最初のカラムに移動します。

戻される状態値

SS$_NORMAL 正常終了。
SMG$_INVARG 引数が誤っています。
SMG$_INVDIS_ID display-id 引数が誤っています。
SMG$_INVROW 行の位置が誤っています。
SMG$_WILUSERMS ペーストボードがビデオ・ターミナルでありません。
SMG$_WRONUMARG 引数の数が誤っています。


#1
C+ 
C This FORTRAN example program demonstrates the use of SMG$DELETE_LINE. 
C- 
 
        IMPLICIT INTEGER (A-Z) 
C+ 
C Create the virtual display by 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_LINE to delete rows 3, 4, and 5. 
C- 
 
        STATUS = SMG$DELETE_LINE ( DISPLAY1, 3, 3) 
        IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 
        END 
 

この FORTRAN プログラムによって,SMG$DELETE_LINE ルーチンを呼び出す前に生成される出力は, 図 8-12 に示すとおりです。

図 8-12 SMG$DELETE_LINE ルーチンを呼び出す前に FORTRAN プログラムが生成する出力


SMG$DELETE_LINE ルーチンを呼び出した後に生成される出力は, 図 8-13 に示すとおりです。

図 8-13 SMG$DELETE_LINE ルーチンを呼び出した後に生成される出力





End Access to a Menu in the Virtual Display ルーチンは,指定された仮想ディスプレイのメニュー選択へのアクセスを終了します。

形式

SMG$DELETE_MENU display-id [,flags]


戻り値



OpenVMS 用法 cond_value
データ型 longword (unsigned)
アクセス write only
受け渡し方 by value



引数



display-id

OpenVMS 用法 identifier
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


メニュー選択を画面表示する仮想ディスプレイを指定します。 display-id 引数は,ディスプレイ識別子を格納した符号なしロングワードのアドレスです。

flags

OpenVMS 用法 mask_longword
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


省略可能なビットマスクであり,メニューを削除するときに可能なアクションを指定します。 flags 引数は,フラグを格納した符号なしロングワードのアドレスです。この引数に対して指定できる値は,SMG$M_ERASE_MENUのみです。この値が指定された場合は,メニュー項目が含まれている行すべてが削除されます。


説明

SMG$DELETE_MENU ルーチンは,指定された仮想ディスプレイでのメニュー選択を中断します。 flags 引数は省略可能で,メニューが削除された場合に,ディスプレイからメニュー項目を削除することを指定できます。

戻される状態値

SS$_NORMAL 正常終了。
LIB$_xxxx LIB$FREE_VM から戻された状態値。
SMG$_xxxx SMG$ERASE_DISPLAYルーチンから戻された状態値。




Delete Pasteboard ルーチンはペーストボードを削除します。

形式

SMG$DELETE_PASTEBOARD pasteboard-id [,flags]


戻り値



OpenVMS 用法 cond_value
データ型 longword (unsigned)
アクセス write only
受け渡し方 by value



引数



pasteboard-id

OpenVMS 用法 identifier
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


削除されるペーストボード識別子。 pasteboard-id 引数は,ペーストボード識別子を格納した符号なしロングワードのアドレスです。

この引数は SMG$CREATE_PASTEBOARD ルーチンによって与えられます。

flags


VMS 用法: mask_longword
データ型: longword (unsigned)
アクセス: read only
受け渡し方: by reference


ペーストボード削除後にターミナル画面消去を行うかどうかを指定するフラグ。 flags 引数は省略可能で,フラグを格納した符号なしロングワードのアドレスです。指定できるのは,以下の値です。

0 画面を消去しない。
SMG$M_ERASE_PBD 画面を消去する(省略時の設定値)。


説明

SMG$DELETE_PASTEBOARD ルーチンは仮想ディスプレイに全出力を書き出し,ペーストボードの使用をすべて終了させて,ペーストボードに割り当てられていた資源を解放します。

戻される状態値

SS$_NORMAL 正常終了。
SMG$_INVPAS_ID pasteboard-id 引数が誤っています。
SMG$_NOTPASTED 指定された仮想ディスプレイは指定されたペーストボードにペーストされていません。
SMG$_WILUSERMS ペーストボードがビデオ・ターミナルではありません。
SMG$_WRONUMARG 引数の数が誤っています。
その他 $DASSGN,LIB$FREE_VM,LIB$FREE_EF または SMG$FLUSH_BUFFER から戻される状態値。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.