日本-日本語
日本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
日本語画面管理ライブラリ 利用者の手引き


目次 索引




The Return Input Line ルーチンは,再呼び出しバッファ内の要求された行を,呼び出し側に戻します。この行は,指定された文字列に適合させる,あるいは適切な行数を指定することによって回復します。

形式

SMG$RETURN_INPUT_LINE keyboard-id ,resultant-string [,match-string] [,byte-integer-line-number] [,resultant-length] [,character-set]


戻り値



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



引数



keyboard-id

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


仮想キーボードの識別子。 keyboard-id 引数は,読み取る対象となる仮想キーボードの識別子を格納した符号なしロングワードのアドレスです。

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

resultant-string

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


SMG$RETURN_INPUT_LINEルーチンが,最終的に作成した行を書き込む文字列。 resultant-string 引数は,生成される行が書き込まれる文字列を示すディスクリプタのアドレスです。

match-string

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


再呼び出しする行を検索するときに使用される照合文字列。 match-string 引数は省略可能であり,この照合文字列を指すディスクリプタのアドレスです。検索操作は最後に入力した行から開始されます。

byte-integer-line-number

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


呼び出す行を検索するときに使用される行番号。 byte-integer-line-number 引数は省略可能であり,再呼び出しする行の行番号を格納した符号なしバイトのアドレスです。最後に入力した行の行番号は1です。

resultant-length

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


resultant-string 文字列の長さ。読み込まれたバイト数と,resultant-string 引数の最大サイズのどちらか小さい方が書き込まれます。resultant-length 引数は,読み込まれたバイト数または最大サイズが書き込まれる符号なしワードのアドレスです。

character-set

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


再呼び出しバッファから戻された行の文字集合。 character-set 引数は,文字集合コードを格納する符号なしロングワードのアドレスです(省略可能)。文字集合が未定義の場合には,SMG$C_UNKOWN が戻されます。

文字集合 (コードセット)
SMG$C_ASCII ASCII文字集合
SMG$C_SPEC_GRAPHICS DEC特殊文字集合
SMG$C_SUPPLEMENTAL 補助文字集合 1
SMG$C_KANJI DEC漢字文字集合
SMG$C_JIS_KANA JISカタカナ文字集合
SMG$C_UNKNOWN 未定義文字集合
SMG$C_SDK Super DEC 漢字コードセット


1DEC 補助文字集合または Latin-1 文字集合のいずれか。


説明

SMG$RETURN_INPUT_LINEルーチンは,再呼び出しバッファ内の指定された行を,呼び出し側に戻します。このルーチンは,DCL 形式の "RECALL" コマンドを実現するための補助として使用されます。

match-string 引数を指定した場合には,SMG$RETURN_INPUT_LINEルーチンは,指定された文字列と一致する行を検索し,その行を戻します。 byte-integer-line-number 引数を指定した場合には, SMG$RETURN_INPUT_LINEルーチンは,指定された行番号に対応する行を戻します。 match-string 引数と byte-integer-line-number 引数をどちらも指定した場合には,SMG$_INVARG が戻されます。match-string 引数を指定したときに,一致する文字列を検索できない場合には,SMG$_LINNOTFNDが戻されます。


戻される状態値

SS$_NORMAL 正常終了。
SMG$_INVARG 引数に誤りがあります。
SMG$_INVKBD_ID keyboard-id 引数に誤りがあります。
SMG$_LINNOTFND 一致する行を検索できませんでした。
SMG$_WRONUMARG 引数の数が誤っています。
LIB$_xxx LIB$COPY_R_DX から戻されたエラー。


#1
!+ 
! This FORTRAN example uses the routine 
! SMG$RETURN_INPUT_LINE to implement a 
! RECALL/ALL command. 
!- 
 
 IMPLICIT INTEGER (A-Z) 
 INCLUDE '($SMGDEF)' 
 INCLUDE '($SMGMSG)' 
 CHARACTER*20 TEXT 
 
 WRITE (5,*) 'Enter number of lines to save.' 
 READ  (5,*) R 
 
 S = SMG$CREATE_PASTEBOARD(PBID) 
 IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
 S = SMG$CREATE_VIRTUAL_DISPLAY(22,70,DID,SMG$M_BORDER) 
 IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
 S = SMG$CREATE_VIRTUAL_KEYBOARD(KBID,,,,R) 
 IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
 S = SMG$PUT_LINE(DID,'Enter lines of text:') 
 IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
 S = SMG$PASTE_VIRTUAL_DISPLAY(DID,PBID,2,2) 
 IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
 
!+ 
! Read in lines of text. 
!- 
 DO 10 I = 1,R 
     S = SMG$READ_COMPOSED_LINE(KBID,,TEXT,'Example>',,DID) 
     IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
  10 CONTINUE 
 
 S = SMG$PUT_LINE(DID,'**** The lines of text are:') 
 IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
!+ 
! Recall all lines in the buffer. 
!- 
 DO 30 N = 1,R 
       S = SMG$RETURN_INPUT_LINE(KBID,TEXT,,N) 
     IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
     S = SMG$PUT_LINE(DID,TEXT) 
     IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
  30 CONTINUE 
 
!+ 
! Recall the line containing 'fox' 
!- 
 S = SMG$PUT_LINE(DID,'**** The line containing "fox" is:',2) 
 IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
 S = SMG$RETURN_INPUT_LINE(KBID,TEXT,'FOX') 
 IF (S .EQ. SMG$_LINNOTFND) TEXT = 'None found!' 
 S = SMG$PUT_LINE(DID,TEXT) 
 IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
 
 END 
 

以下の例は,この FORTRAN プログラムによって生成される出力を示しています。

$ RUN RETURN
Enter number of lines to save. 
  3
Enter lines of text: 
Example> PASTEBOARD
Example> DISPLAY
Example> KEYBOARD
****The lines of text are: 
KEYBOARD 
DISPLAY 
PASTEBOARD 
****The line containing "fox" is: 
 
None found! 




Ring the Terminal Bell or Buzzer ルーチンは,漢字ターミナルのベルまたはブザーを鳴らします。

形式

SMG$RING_BELL display-id [,number-of-times]


戻り値



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-times

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


ベルまたはブザーを鳴らす回数を指定します。 number-of-times 引数は,ベルまたはブザーを鳴らす回数を格納した符号付きロングワード整数のアドレスです。 number-of-times 引数を省略した場合には,値は 1 になります。


説明

SMG$RING_BELL ルーチンは,指定された仮想ディスプレイがペーストされている各ペーストボードでベルまたはブザーを鳴らします。ベルまたはブザーは,指定された回数だけ鳴ります。省略時には 1 回だけ鳴ります。

戻される状態値

SS$_NORMAL 正常終了。
SMG$_INVDIS_ID display-id 引数に誤りがあります。
その他 $QIOW,LIB$GET_VM,LIB$FREE_VM から戻される状態値。




Save Physical Screen ルーチンは,後でSMG$RESTORE_PHYSICAL_SCREENルーチンを呼び出すことにより復元できるように,ペーストボードの内容を保存します。

形式

SMG$SAVE_PHYSICAL_SCREEN pasteboard-id ,display-id [,desired-start-row] [,desired-end-row]


戻り値



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



引数



pasteboard-id

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


内容が保存されるペーストボードを指定します。 pasteboard-id 引数は,ペーストボード識別子を格納した符号なしロングワードのアドレスです。

display-id

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


指定されたペーストボードの内容を格納するために作成された仮想ディスプレイの仮想ディスプレイ識別子を受け付けます。display-id 引数は,仮想ディスプレイ識別子が書き込まれる符号なしロングワードのアドレスです。

display-id 引数は,保存されている情報を回復するときに SMG$RESTORE_PHYSICAL_SCREENルーチンに渡さなければなりません。

desired-start-row

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


保存する最初の行を指定します。desired-start-row 引数は,行番号を格納した符号付きロングワードのアドレスです。desired-start-row 引数を省略した場合には,ペーストボードの1行目が使用されます。

desired-end-row

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


保存する最後の行を指定します。desired-end-row 引数は,行番号を格納した符号付きロングワードのアドレスです。desired-end-row 引数を省略した場合には,ペーストボードの最後の行が使用されます。


説明

SMG$SAVE_PHYSICAL_SCREENルーチンは,指定されたペーストボードと同じ幅で, desired-start-row 引数と desired-end-row 引数によって指定された高さの仮想ディスプレイを作成することにより,画面を消去します。これらの2つの引数を省略した場合には,作成される仮想ディスプレイの高さは,指定されたペーストボードの高さと同じになります。

作成された仮想ディスプレイは省略時の文字集合を持たないので,仮想ディスプレイへの出力表示は,文字集合について考慮しなければなりません。

保存される情報,つまり,ペーストボード・イメージは,SMG$RESTORE_PHYSICAL_SCREEN ルーチンを呼び出すことにより復元できます。SMG$SAVE_PHYSICAL_SCREENルーチンと SMG$RESTORE_PHYSICAL_SCREENルーチンを2回以上呼び出す場合には,呼び出しはネスティング方式で実行しなければなりません。つまり,最後に保存したペーストボードは最初に復元しなければなりません。

これらのルーチンは,日本語SMG機能を使用せずに出力を画面に送信する可能性のあるプロシージャを呼び出すときに便利です。このようなプロシージャを呼び出す場合には,その前にSMG$SAVE_PHYSICAL_SCREENルーチンを使用してペーストボード・イメージを保存します。プロシージャを実行した後,SMG$RESTORE_PHYSICAL_SCREENルーチンを使用してペーストボード・イメージを復元します。

保存する領域は少なくとも2行以上でなければなりません。スクロール領域をサポートしないターミナルでSMG$SAVE_PHYSICAL_SCREENルーチンを使用する場合には,ペーストボード全体を保存し,復元しなければなりません。


戻される状態値

SS$_NORMAL 正常終了。
LIB$_INSVIRMEM 仮想メモリが不足しています。
SMG$_INVPAS_ID pasteboard-id 引数に誤りがあります。
SMG$_INVROW 指定された行番号が誤っているか,または指定された範囲が1行以下です。
SMG$_WRONUMARG 引数の数が誤っています。




Save the Virtual Display to a File ルーチンは,仮想ディスプレイの内容をファイルに格納します。

形式

SMG$SAVE_VIRTUAL_DISPLAY display-id [,filespec]


戻り値



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

filespec

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


指定された仮想ディスプレイを保存するファイルのファイル指定を格納した文字列。 filespec 引数は,ファイル指定を格納した文字列を指すディスクリプタのアドレスです。

このルーチンを呼び出すたびに,新しいファイルが作成されます。 filespec 引数を省略した場合のファイル指定はSMGDISPLY.DATです。


説明

SMG$SAVE_VIRTUAL_DISPLAYルーチンは仮想ディスプレイの内容を保存し,それを印字不可能なファイルに格納します。仮想ディスプレイを再作成するのに必要なテキスト,ビデオ属性,文字集合,およびすべてのディスプレイ属性は保存されます。メニュー,ビューポート,およびサブプロセスの内容は保存されません。仮想ディスプレイを復元するには,SMG$LOAD_VIRTUAL_DISPLAYルーチンを使用します。

戻される状態値

SS$_NORMAL 正常終了。
SMG$_INVDIS_ID display-id 引数に誤りがあります。
RMS$_xxxx $OPEN,$CONNECT,$PUT,および $CLOSEから戻されたエラー。


目次 索引

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