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


目次 索引




Read Composed Lineルーチンは,通常のキー・ストロークと同値文字列で構成される 1 行の入力を読み込みます。

形式

SMG$READ_COMPOSED_LINE keyboard-id [,key-table-id] ,resultant-string [,prompt-string] [,resultant-length] [,display-id] [,flags] [,initial-string] [,timeout] [,rendition-set] [,rendition-complement] [,word-terminator-code] [,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 ルーチンによって与えられます。

key-table-id

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


キー・ストロークを変更するために使用されるキー・テーブルを指定します。 key-table-id 引数は,キー・テーブル識別子を格納した符号なしのロングワードのアドレスです。

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

resultant-string

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


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

prompt-string

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


読み込み操作に対するプロンプトとして使用される文字列。 prompt-string 引数は,プロンプト文字列を示すディスクリプタのアドレスです。

resultant-length

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


読み込んだバイト数と,resultant-string 引数の最大長のどちらか小さい方の値が書き込まれます。resultant-length 引数は, SMG$READ_COMPOSED_LINE ルーチンが読み込んだバイト数が書き込まれる符号なしワードのアドレスです。

display-id

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


ディスプレイ識別子。display-id 引数はディスプレイ識別子を格納した符号なしロングワードのアドレスです。画面管理機能の出力ルーチンを使用しない場合のみこの引数は省略可能です。

画面管理機能の入力ルーチンと出力ルーチンを使用する場合には,この引数は,入力が行われる仮想ディスプレイを指定します。指定される仮想ディスプレイは, keyboard-id 引数によって指定されるペーストボードと同じペーストボードにペーストされていなければならず,他のディスプレイによって隠されていない状態でなければなりません。仮想ディスプレイの隠された領域から入力を受け付けることはできません。

複数の仮想ディスプレイが存在する場合には,各仮想ディスプレイに対して仮想カーソルの位置が割り当てられています。同時に,物理カーソルの現在の位置に対応する物理カーソル位置が1つだけあります。display-id 引数を指定した場合には,読み込み操作は,指定された仮想ディスプレイ内の現在の仮想カーソルの位置から開始されます。ディスプレイ識別子を省略した場合には,読み込み操作は現在の物理カーソルの位置から開始されます。prompt-string 引数の長さと入力されるキーの合計は,ディスプレイ内に表示されるカラム数に制限されます。

  注意
この仮想ディスプレイはカラム 1 にペーストしなければならず,その右側に他の仮想ディスプレイを配置することはできません。この制限事項が必要なのは,この条件が満足されない場合,[Ctrl/R] または [Ctrl/U] の発生によって,右側にペーストされた出力も含めて行全体が消去されるからです。



flags

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


使用可能なキーを指定するビット・マスク(省略可能)。 flags 引数は,フラグを格納した符号なしロングワードのアドレスです。 flags 引数に対して指定できる値は次のとおりです。

0 行編集は許可されるが,ファンクション・キー ( [ F6][F14])は使用できない。
SMG$M_FUNC_KEYS ファンクション・キー ( [F6][F14])は使用できるが,行編集は禁止される。
SMG$M_NOKEEP 再呼び出しバッファに入力された行は保存されない。
SMG$M_NORECALL この入出力に対してのみ,行の再呼び出しは禁止される。

OpenVMS ターミナル・ドライバは一部の漢字ターミナルで行編集のために [F6][F14] ファンクション・キーを使用するため,ファンクション・キーと,行編集を同時に許可することはできません。

これらのフラグが正しく機能するためには,端末に対して端末属性 /LINE_EDITING を設定しなければなりません。 /LINE_EDITING は省略時の設定です。

かな漢字変換キーの定義は,SMG$DEFINE_KEY ルーチンや SMG$ADD_KEY_DEF ルーチンによるキー定義に優先されます。character-set 引数が SMG$C_KANJI または SMG$C_SDK の場合には,flags 引数に SMG$M_FUNC_KEYS を指定しても行編集は禁止されません。

initial-string

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


初期文字列(省略可能)。initial-string 引数は,フィールドの初期文字列を格納した省略可能な文字列を示すディスクリプタのアドレスです。文字列はキーボードから入力されたかのように,ディスプレイの入力領域に書き込まれます。文字列は通常の方法で編集できます (function-keys-flag 引数が設定されていない場合)。

timeout

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


時間切れの値(省略可能)。timeout 引数は,時間切れの値を格納した符号付きロングワードのアドレスです。timeout 引数を指定した場合には,時間切れの前に入力されたすべての文字はバッファに書き込まれます。 timeout 引数を省略した場合には,終了文字が入力されるまで文字はバッファに書き込まれます。

rendition-set

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


rendition-set 引数は省略可能で,ロングワード・ビット・マスクのアドレスです。この引数で指定する属性が仮想ディスプレイ上に設定されます。この引数に対して指定できる値は次のとおりです。

SMG$M_BLINK 点滅する文字を表示します。
SMG$M_BOLD 通常の輝度より高い輝度で文字を表示します。
SMG$M_REVERSE 文字を反転表示します。つまり,仮想表示の現在のシステム設定値の属性とは逆の状態で表示します。
SMG$M_UNDERLINE 下線を付けた文字を表示します。
SMG$M_INVISIBLE 表示されない文字を指定します。つまり,仮想ディスプレイに存在していても,ペーストボードに表示されない文字を指定します。
SMG$M_USER1 から SMG$M_USER8 ユーザ定義属性を表示します。

rendition-set 引数を使用する場合は,display-id 引数を指定しなければなりません。

rendition-complement

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


属性補足指定子。 rendition-complement 引数は省略可能で,ロングワード・ビット・マスクのアドレスです。この引数で指定する補足的な属性が仮想ディスプレイ上に設定されます。rendition-set 引数で指定できる属性はすべて, rendition-complement 引数で補足指定することができます。

rendition-complement 引数を使用する場合は,display-id 引数を指定しなければなりません。

rendition-set 引数と rendition-complement 引数は省略可能で,これらの引数を使用して仮想ディスプレイの各属性を制御することができます。 rendition-set 引数は仮想ディスプレイの特定の属性を設定するのに対し,rendition-complement 引数はこれらの属性を補足します。 rendition-set 引数と rendition-complement 引数の両方に同じビットを指定した場合は,最初に rendition-set 引数が評価され,その後,rendition-complement 引数が評価されます。これら2つの引数を組み合わせて使用することにより,ユーザは1回のプロシージャ呼び出しで仮想ディスプレイの各属性を制御することができます。各属性で次の変換が可能です。

設定 補足 動作
0 0 属性を省略時の状態に設定する。
1 0 属性を有効にする。
0 1 属性を省略時の逆の状態に設定する。
1 1 属性を無効にする。



word-terminator-code

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


キー終了文字コード。word-terminator-code 引数は,どの文字またはどのキーが読み込み操作を終了したかを示すコードが書き込まれる,符号なしワードのアドレスです。キー終了文字コードは SMG$K_TRM_keyname という形式です。キー名については 第 3 章表 3-1 を参照してください。

character-set

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


入力されるテキストの文字集合。 character-set 引数は,文字集合コードを格納した符号なしロングワードのアドレスです。この引数を省略した場合は,SMG$CREATE_VIRTUAL_DISPLAY ルーチンまたは SMG$CHANGE_VIRTUAL_DISPLAY ルーチンで設定された値が使用されます。この引数を省略し,かつ仮想ディスプレイが指定されていない場合には, SMG$DEFAULT_CHARACTER_SET 論理名で示される文字集合が使用されます。

文字集合 (コードセット)
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$DEFAULT_CHARACTER_SET 論理名に定義できる値については, 第 2.2.14 項表 2-2 を参照してください。


説明

SMG$READ_COMPOSED_LINE ルーチンは,指定されたキー・テーブルに定義されている方法で,通常のキー・ストロークとキー同値文字列で構成される 1 行を読み込みます。キー定義の属性は,同値文字列をエコー表示するかどうかと,定義されているキー・ストロークによって読み込み操作を終了するかどうかを制御します。通常のキー・ストロークは常にエコー表示されます。

キャリッジ・リターンは常に読み込み操作を終了します。[Ctrl/Z]が入力されたときに,キー定義テーブルに [Ctrl/Z]に対する定義が登録されていない場合には, "EXIT" がエコー表示され,読み込み操作は終了します。 [Ctrl/Z]が行の最初の文字として入力された場合には,SMG$_EOF が戻されます。それ以外の場合には,次の読み込み操作で SMG$_EOF が戻されます。キー定義に属性として指定されていない限り,他の終了文字は認識されません。

矢印キー([↑][↓])と[Ctrl/B]が定義されていない場合には, SMG$READ_xxxx ルーチンを使用して読み込んだ前の行は,矢印キー([↑][↓])を使用して再呼び出しすることができます。後で再呼び出しするために保存される行数は,SMG$CREATE_VIRTUAL_KEYBOARD ルーチンの recall-size 引数に応じて異なります。省略時の設定は 20 行です。

SMG$READ_COMPOSED_LINE ルーチンは入力操作を実行する前に,SMG$FLUSH_BUFFER ルーチンを呼び出します。このため,入力操作を開始するときに,画面イメージは常に最新の状態に更新されます。SMG$READ_COMPOSED_LINE ルーチンを使用する場合には,ペーストボードと仮想ディスプレイの両方に対して,ディスプレイ・バッチ処理を禁止しておかなければなりません。

入力文字の文字集合がDEC漢字または Super DEC 漢字文字集合であった場合には, SMG$READ_COMPOSED_LINE ルーチンが,かな漢字変換の処理を行います。この場合,変換に使用されるキーは, SMG$DEFINE_KEY ルーチンおよび SMG$ADD_KEY_DEF ルーチンによるキー定義に優先されます。


戻される状態値

SS$_NORMAL 正常終了。
SS$_ABORT 実行中に入出力操作が強制終了されました (SMG$CANCEL_INPUTルーチンにより)。
SS$_CANCEL キューに登録している間に入出力操作が取り消されました (SMG$CANCEL_INPUTルーチンにより)。
SMG$_EOF ファイルの最後。
SMG$_ILLBATFNC バッチ処理されているディスプレイからの入力は認められません。
SMG$_INVARG 引数が誤っています。
SMG$_INVCOL カラム番号に誤りがあります。読み込み操作が仮想ディスプレイの外側のカラムを使用しようとしました。
SMG$_INVDIS_ID display-id 引数に誤りがあります。
SMG$_INVKBD_ID keyboard-id 引数に誤りがあります。
SMG$_INVKTB_ID key-table-id 引数に誤りがあります。
SMG$_WRONUMARG 引数の数が誤っています。
SS$_xxx $QIOWから戻された状態値。
JSY$_xxx JSY$_xxx から戻された状態値。
LIB$_xxx LIB$COPY_R_DX から戻された状態値。
RMS$_xxx $GET から戻された状態値(RMS$_EOF を除く)。
IM$_xxx IMLIB から戻された状態値。


目次 索引

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