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


目次 索引




Replace Input Line ルーチンは,再呼び出しバッファ内の指定された行を指定された文字列に置き換えます。

形式

SMG$REPLACE_INPUT_LINE keyboard-id [,replace-string] [,line-count] [,flags] [,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 ルーチンによって与えられます。

replace-string

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


再呼び出しバッファに入力される行を格納した文字列。 replace-string 引数は,この文字列を指すディスクリプタのアドレスです。省略時の設定は空文字列であり,最後に入力された行を削除します。

line-count

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


置換する行数。line-count 引数は,replace-string 引数に置換する行数を格納した符号なしバイトのアドレスです。 line-count 引数の省略時の値は 1 (最後に入力した行)です。

flags

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


任意に実行できる動作を指定します。flags 引数は,フラグを格納した符号なしロングワードのアドレスです。指定できる値は以下のとおりです。

SMG$M_KEEP_CONTENTS replace-string 引数によって指定された文字列は, line-count 引数によって指定された既存の文字列と置き換えられます。このフラグをループ内で使用すれば,アプリケーションから再呼び出しバッファに情報をプリロードすることができます。



character-set

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


文字集合指定子。再呼び出しバッファに入力される行,replace-string 引数の文字集合。character-set 引数は,文字集合コードを格納した符号なしロングワードのアドレスです。この引数を省略した場合のシステム設定値は,UNKNOWNです。

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


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


説明

SMG$REPLACE_INPUT_LINE ルーチンは,再呼び出しバッファ内の要求された行を指定された文字列に置き換えます。残りの行(line-count-1)は削除されます。このルーチンは行継続の処理を補助するためのものです。

戻される状態値

SS$_NORMAL 正常終了。
LIB$_INSVIRMEM 仮想メモリが不足しています。
SMG$_INVKBD_ID keyboard-id 引数に誤りがあります。
SMG$_WRONUMARG 引数の数が誤っています。


#1
!+ 
! This FORTRAN example uses the routine 
! SMG$REPLACE_INPUT_LINE to concatenate 
! the last 2 lines in the recall buffer. 
!- 
 
 IMPLICIT INTEGER (A-Z) 
 INCLUDE '($SMGDEF)' 
 INCLUDE '($SMGMSG)' 
 CHARACTER*20 TEXT, TEXT1 
 
 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 
 
!+ 
! Recall last 2 lines in the buffer. 
!- 
 
 S = SMG$RETURN_INPUT_LINE(KBID,TEXT,,1,LEN) 
 IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
 S = SMG$RETURN_INPUT_LINE(KBID,TEXT1,,2,LEN1) 
 IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
 TEXT(LEN:20) = TEXT1(1:LEN1) 
 
!+ 
! Concatenate them and replace the last 2 
! lines in the buffer with the new line. 
!- 
 
 S = SMG$REPLACE_INPUT_LINE(KBID,TEXT,2) 
 IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
 
!+ 
! Recall the last line which is now the 
! concatenated line. 
!- 
 
 S = SMG$RETURN_INPUT_LINE(KBID,TEXT,,1) 
 IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
 
 S = SMG$PUT_LINE(DID,'**** The last line of text is:') 
 IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
 S = SMG$PUT_LINE(DID,TEXT) 
 IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 
 
 END 
 

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

$ RUN REPLACE
Enter number of lines to save. 
  3
Enter lines of text: 
Example> PASTEBOARD
Example> DISPLAY
Example> KEYBOARD
****The last line of text is: 
KEYBOARDDISPLAY 




Restore Physical Pasteboard ルーチンは,SMG$SAVE_PHYSICAL_SCREENルーチンを呼び出したときの状態にペーストボード・イメージを復元します。

形式

SMG$RESTORE_PHYSICAL_SCREEN pasteboard-id ,display-id


戻り値



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



引数



pasteboard-id

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


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

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

display-id

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


SMG$SAVE_PHYSICAL_SCREENルーチンによって作成された仮想ディスプレイを指定します。 display-id 引数は,この仮想ディスプレイ識別子を格納した符号なしロングワードのアドレスです。


説明

SMG$RESTORE_PHYSICAL_SCREENルーチンは,SMG$SAVE_PHYSICAL_SCREENルーチンによって保存されたペーストボード・イメージを再作成します。SMG$SAVE_PHYSICAL_SCREENルーチンから戻された display-id 引数をSMG$RESTORE_PHYSICAL_SCREENルーチンに渡さなければなりません。SMG$SAVE_PHYSICAL_SCREENルーチンと SMG$RESTORE_PHYSICAL_SCREENルーチンを2回以上呼び出す場合には,呼び出しはネスティング方式で実行しなければなりません。つまり,最後に保存したペーストボードは最初に復元しなければなりません。

戻される状態値

SS$_NORMAL 正常終了。
SMG$_INVDIS_ID display-id 引数に誤りがあります。
SMG$_INVPAS_ID pasteboard-id 引数に誤りがあります。




Return Cursor Position ルーチンは,指定された仮想ディスプレイの仮想カーソルの現在の位置を戻します。

形式

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

start-row

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


指定された仮想ディスプレイ内の仮想カーソルの現在の行位置が書き込まれます。 start-row 引数は,現在の行位置が書き込まれる符号付きロングワードのアドレスです。

start-column

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


指定された仮想ディスプレイ内の仮想カーソルの現在のカラム位置が書き込まれます。 start-column 引数は,現在のカラム位置が書き込まれる符号付きロングワードのアドレスです。


説明

SMG$RETURN_CURSOR_POS ルーチンは,指定された仮想ディスプレイ内の仮想カーソルの現在の行位置とカラム位置を戻します。

戻される状態値

SS$_NORMAL 正常終了。
SMG$_INVDIS_ID display-id 引数に誤りがあります。
SMG$_WRONUMARG 引数の数が誤っています。


目次 索引

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