日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


 

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

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

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


目次 索引




Create a Virtual Keyboard ルーチンは,仮想キーボードを作成してキーボード識別子を返します。

形式

SMG$CREATE_VIRTUAL_KEYBOARD

keyboard-id [,input-device] [,default-filespec] [,resultant-filespec] [,recall-size]


戻り値



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



引数



keyboard-id

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


新規に作成したキーボードの識別子。 keyboard-id 引数は,キーボード識別子を格納する符号なしロングワードのアドレスです。

input-device


VMS 用法: char_string
データ型: character string
アクセス: read only
受け渡し方: by descriptor


仮想キーボードで使用される,ファイル指定,ファイル論理名,または漢字ターミナルの論理名。input-device 引数は,ファイル指定を示すディスクリプタのアドレスです。省略時の設定値は SYS$INPUT です。

  注意
日本語 SMG では,ファイルからの入力はサポートされていません。



default-filespec


VMS 用法: char_string
データ型: character string
アクセス: read only
受け渡し方: by descriptor


ファイル指定のシステム設定値。 default-filespec 引数は,ファイル指定のシステム設定値を示すディスクリプタのアドレスです。default-filespec 引数を省略した場合は,空文字列を使用します。

input-device 引数でファイル名とファイル・タイプを指定し, default-filespec 引数で装置とディレクトリを指定することもできます。

  注意
日本語 SMG では,ファイルからの入力はサポートされていません。



resultant-filespec


VMS 用法: char_string
データ型: character string
アクセス: write only
受け渡し方: by descriptor


実際に使用されたファイル指定。 resultant-filespec 引数は,実際に使用されたファイル指定が,完全に展開された形式で書き込まれる文字列を示すディスクリプタのアドレスです。

  注意
日本語 SMG では,ファイルからの入力はサポートされていません。



recall-size

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


再呼び出しのために保存される入力行数。 recall-size 引数は省略可能で,行数を格納した符号なしバイトのアドレスです。0 に設定すると入力行を再び呼び出すことができなくなります。 recall-size 引数を省略した場合は,20 行が保存されます。


説明

SMG$CREATE_VIRTUAL_KEYBOARD ルーチンは,ファイル指定(ターミナル名または RMS ファイル)と仮想キーボードの関係を設定します。入力ストリームを識別するため,キーボード識別子は他の SMG$ プロシージャに渡されます。SMG$CREATE_PASTEBOARD ルーチンも同時に呼んでいる場合には,それが SMG$CREATE_VIRTUAL_KEYBOARD ルーチンを呼び出す前に呼ばれていなければなりません。

プロシージャは漢字ターミナルにチャネルを割り当て,ターミナル・キーボードにアプリケーション・モード(サポート時のみ)を設定します。仮想キーボードが削除される際に,これらの属性にはもとの値が復元されます。仮想キーボードはイメージの終了時に自動的に削除されます。SMG$DELETE_VIRTUAL_KEYBOARD ルーチンで削除することもできます。


戻される状態値

SS$_NORMAL 正常終了。
LIB$_INSEF イベント・フラグ数が不足しています。
LIB$_INSTRDES 仮想ディスクリプタが誤っています。
LIB$_INSVIRMEM 仮想メモリが不足しています。
SMG$_FILTOOLON ファイル指定が長すぎます(最大 255 バイト)。
SMG$_WRONUMARG 引数の数が誤っています。
その他 $OPEN または $CONNECT により RMS から戻される状態値。
$GETDVIW,$ASSIGN,または $DCLEXH から戻される状態値。


#1
C+ 
C This FORTRAN example program demonstrates the use of 
C SMG$CREATE_VIRTUAL_KEYBOARD, SMG$CREATE_KEY_TABLE, 
C SMG$ADD_KEY_DEF, and SMG$READ_COMPOSED_LINE. 
C- 
 
        INTEGER SMG$CREATE_VIRTUAL_KEYBOARD, SMG$CREATE_KEY_TABLE 
        INTEGER SMG$ADD_KEY_DEF, SMG$READ_COMPOSED_LINE 
        INTEGER SMG$DELETE_KEY_DEF, KEYBOARD, KEYTABLE, STATUS 
 
C+ 
C Include the SMG definitions. In particular, we want SMG$M_KEY_NOECHO 
C and SMG$M_KEY_TERMINATE. 
C- 
 
        INCLUDE '($SMGDEF)' 
 
C+ 
C Create a virtual keyboard (using SMG$CREATE_VIRTUAL_KEYBOARD) 
C and create a key table (using SMG$CREATE_KEY_TABLE). 
C- 
 
        STATUS = SMG$CREATE_VIRTUAL_KEYBOARD (KEYBOARD) 
        IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 
        STATUS = SMG$CREATE_KEY_TABLE (KEYTABLE) 
        IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 
C+ 
C Prompt the user with the following instructions. 
C- 
 
        WRITE (6,*) 'When you see the prompt (->), strike the following' 
        WRITE (6,*) 'keys (on the KEYPAD): ' 
        WRITE (6,*) '           PF1 ' 
        WRITE (6,*) '           5 ' 
        WRITE (6,*) '           PF3 ' 
        WRITE (6,*) ' ' 
        WRITE (6,*) 'When you have done this, the following sentence' 
        WRITE (6,*) '(and nothing more) should appear following the' 
        WRITE (6,*) 'prompt: ' 
        WRITE (6,*) '(PF3 should act as a carriage return.)' 
        WRITE (6,*) ' ' 
        WRITE (6,*) 'NOW IS THE TIME FOR ALL TEXT TO APPEAR.' 
 
C+ 
C Add key definitions by calling SMG$ADD_KEY_DEF. 
C- 
 
        STATUS = SMG$ADD_KEY_DEF (KEYTABLE, 'PF1', , , 
     1  'NOW IS THE TIME FOR ') 
        IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 
        STATUS = SMG$ADD_KEY_DEF (KEYTABLE, 'KP5', , , 
     1  'TEXT TO APPEAR.') 
        IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 
        STATUS = SMG$ADD_KEY_DEF (KEYTABLE, 'PF3', , 
     1  SMG$M_KEY_NOECHO + SMG$M_KEY_TERMINATE , 
     1  'THIS SHOULD NOT BE ECHOED.  IF YOU CAN 
     1  SEE THIS, AN ERROR EXISTS.') 
        IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 
C+ 
C Call SMG$READ_COMPOSED_LINE to read a line of input. 
C- 
 
        WRITE(6,*) ' ' 
        STATUS = SMG$READ_COMPOSED_LINE (KEYBOARD, KEYTABLE, R_TEXT, 
     1          '->') 
        IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 
        END 
 

出力例

$ RUN example

When you see the prompt (->), strike the following 
keys (on the KEYPAD): 
           PF1 
           5 
           PF3 
 
When you have done this, the following sentence 
(and nothing more) should appear following the 
prompt: 
(PF3 should act as a carriage return.) 

NOW IS THE TIME FOR ALL TEXT TO APPEAR.
 
->NOW IS THE TIME FOR ALL TEXT TO APPEAR.
 
$




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




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




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 コマンド言語インタプリタのもとでイメージを実行していなければなりません。


戻される状態値

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


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項