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


OpenVMS マニュアル


 

OpenVMSマニュアル
ライブラリ

タイトルページ
目次
まえがき
第1章:IMLIBの機能
第2章:アプリケーションの作成
第3章:ACTIONの実行
第4章:アプリケーションの作成方法
第5章:IMLIBライブラリ・ルーチン
第6章:プログラムの開発
付録A :IMLIBがサポートするKEYSYM
付録B :定義済のシンボル
索引
PDF
OpenVMS ホーム
日本語OpenVMS

日本語OpenVMS
IMLIB/OpenVMS ライブラリ・ リファレンス・マニュアル


目次 索引




バイナリ形式のKEYBINDファイルを読み込み,キー定義のデータ構造を作ります。

VMSバインディング

status =IM$SET_KEYBIND (unit_id, file, level)


戻り値



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



引数



unit_id

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


OPEN PROFILEによって返された条件値。

file

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


KEYBINDファイルのファイル指定をする文字列。このパラメータが長さ0の文字列のときは,PROFILEのDEC-JAPANESE.KEY.keybindというINDEXで指定されるファイルが,省略時のKEYBINDファイルとして使われます。

level

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


アプリケーションがサポートするACTIONのレベルを指定します。このマニュアルに記述されているACTIONのレベルは"2"です。このパラメータには整数値2を指定してください。サポートレベルとして1を指定した場合,サポートレベルが2以上の KEYBINDファイルを読み込むことはできません。


Cバインディング

status =ImSetKeybind (unit_id, file, level)


戻り値

SET KEYBINDは条件値を返します。


引数



int unit_id (Input)

OPEN PROFILEによって返された整数値。

char *file (Input)

KEYBINDファイルのファイル指定をする文字列。このパラメータにヌル・ポインタ (NULL)が指定されたときには, PROFILEのDEC-JAPANESE.KEY.keybindという INDEXで指定されるファイルが,省略時の KEYBINDファイルとして使われます。

int level (Input)

アプリケーションがサポートするACTIONのレベルを指定します。このマニュアルに記述されているACTIONのレベルは"2"です。このパラメータには整数値 2を指定してください。サポートレベルとして1を指定した場合,サポートレベルが 2以上のKEYBINDファイルを読み込むことはできません。

説明

SET KEYBINDはKEYBINDのデータ構造を作成し,そのデータ構造をPROFILEに結び付けます。指定したPROFILEに既にKEYBINDが存在するときには,古いKEYBIND が取り除かれ,新しく指定したものに置きかわります。

省略時のKEYBINDファイルのdefault file specificationは,
"IM$DEFAULTS:.IM$DAT"です。したがって,論理名IM$DEFAULTSで指定されるディレクトリ以外のディレクトリに KEYBINDファイルがある場合は,PROFILEファイル中のVALUEをディレクトリ名から指定しなければなりません。

論理名IM$DEFAULTSは,通常SYS$LOGIN:とSYS$LIBRARY:を指定しています。


戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__FILNOTFND Error File not found.
IM__CANNOTOPN Error Cannot open.
IM__INSVIRMEM Error Insufficient virtual memory.
IM__ILLUNIT Error Illegal unit ID.
IM__ILLFORMAT Error Illegal data format.
IM__ILLLEVEL Error Illegal level number or file level mismatch.
IM__NOINDEX Error No index.
IM__READERR Error File read error.
IM__INVSTRDES Error Invalid string descriptor.




キーに定義されたACTIONを調べます。

VMSバインディング

VMSバインディングはありません。SET KEYおよびGET ACTIONを参照してください。

Cバインディング

status =ImGetKeyAction (unit_id, key_code, action_list)


戻り値

GET KEY ACTIONは条件値を返します。


引数



int unit_id (Input)

OPEN PROFILEによって返された整数値。

int key_code (Input)

キーの整数表現(KEYCODE)。
KEYCODEの定数表記は 付録 B を参照してください。

int *action_list [] (Output)

ACTIONが返される配列。配列の最後のエレメントは値0で示されます。
ACTIONの定数表記は 付録 B を参照してください。

説明

GET KEY ACTIONは,キーに定義されたACTIONを得るために使われます。ACTIONは整数の配列として返されます。同じキーであっても,そのときの状態によってACTIONが変わることがありますので,キーが入力されるたびにGET KEY ACTIONによって実行するACTIONを得てください。

"Key not defined"という条件値は,そのキーがその状態で,ユーザによって定義されていないことを示します。この場合は,アプリケーションが定義する機能を実行します。

"Wait for next key"という条件値は,[GOLD]キーのようなそのキーだけでは完結しないキーが入力されたことを示します。この場合,アプリケーションは GET KEY ACTION をもう一度呼んで,複数キーに定義された ACTIONを得なければなりません。アプリケーションは,GET KEY ACTIONを"Wait for next key"が出なくなるまで続けることになります。複数キーは最大16個まで許されています。


戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__ILLUNIT Error Illegal unit ID.
IM__INSVIRMEM Error Insufficient virtual memory.
IM__NOKEYBIND Error Keybind data is not set yet. Execute SET KEYBIND first.
IM__KEYNOTDEFINED Information The specified key is not defined. Execute application defined action.
IM__PARTIALKEY Information The key is middle of a multiple key definition. Wait for the next key to complete the key definition.
IM__NOACTION Information The key has no action.




キーに定義されたACTIONを得るために,キーを指定します。

VMSバインディング

status =IM$SET_KEY (unit_id, key_code)


戻り値



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



引数



unit_id

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


OPEN PROFILEによって返された条件値。

key_code

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


キーの整数表現(KEYCODE)。
KEYCODEの定数表記は 付録 B を参照してください。


Cバインディング

Cバインディングはありません。GET KEY ACTIONを参照してください。

説明

SET KEYはGET ACTIONと組み合わされて,キーに定義されたACTIONを得るために使われます。SET KEYでキーを指定し,GET ACTIONを繰り返し呼ぶことで複数の ACTIONを得ます。同じキーであってもそのときの状態によってACTIONが変わることがありますので,キーが入力されるたびにACTIONを得てください。

"Key not defined"という条件値は,そのキーがその状態で,ユーザによって定義されていないことを示します。この場合は,アプリケーションが定義する機能を実行します。

"Wait for next key"という条件値は,[GOLD]キーのようなそのキーだけでは完結しないキーが入力されたことを示します。この場合,アプリケーションは SET KEY をもう一度呼ばなければなりません。複数キーは最大16個まで許されています。アプリケーションはSET KEYを "Wait for next key"が出なくなるまで続けることになります。


戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__ILLUNIT Error Illegal unit ID.
IM__INSVIRMEM Error Insufficient virtual memory.
IM__NOKEYBIND Error Keybind data is not set yet. Execute SET KEYBIND first.
IM__KEYNOTDEFINED Information The specified key is not defined. Execute application defined action.
IM__PARTIALKEY Information The key is middle of a multiple key definition. Wait for the next key to complete the key definition.
IM__NOACTION Information The key has no action.




SET KEYによって指定されたキーに定義されたACTIONを得ます。

VMSバインディング

status =IM$GET_ACTION (unit_id, action)


戻り値



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



引数



unit_id

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


OPEN PROFILEによって返された整数値。

action

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


次に実行されるACTION。
ACTIONの定数表記は 付録 B を参照してください。


Cバインディング

Cバインディングはありません。GET KEY ACTIONを参照してください。

説明

SET KEYはGET ACTIONと組み合わされて,キーに定義されたACTIONを得るために使われます。SET KEYでキーを指定し,GET ACTIONを繰り返し呼ぶことで,複数の ACTION を得ます。同じキーであってもそのときの状態によってACTIONが変わることがありますので,キーが入力されるたびにACTIONを得てください。最後のアクションを渡す際に,GET ACTION は action にアクションコードを入れてIM__LASTACTION を返します。IM__LASTACTION をエラーコードと間違って処理しないようにしてください。

戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__LASTACTION Success This is the last action.
IM__ILLUNIT Error Illegal unit ID.
IM__KEYNOTSET Error Key is not specified yet. Call SET KEY before calling GET ACTION.



最後にGET KEY ACTIONまたはSET KEYが実行された前のSTATEに戻します。

VMSバインディング

status=IM$RECOVER_KEY_STATE(unit_id)


引数



unit_id

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


OPEN PROFILEによって返された条件値。


Cバインディング

status =ImRecoverKeyState (unit_id)


戻り値

RECOVER KEY STATEは条件値を返します。


引数



int unit_id (Input)

OPEN PROFILEによって返された整数値。

説明

IMLIBに与えられた最近のキー,または最近の複数キーによるACTIONが不正の場合,あるいはそのACTIONの実行結果が不正の場合に,変換中の文字列を確定することを避けるため,そのキーまたは複数キーが押される直前のSTATEに回復します。

注意: 直前のSTATEに戻すのは,アプリケーションの責任です。最近のACTIONに DONEが入っていた場合,DONEの前の状態に戻すことはできません。


戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__NORECOVER Warning No previous state to recover.
IM__ILLUNIT Error Illegal unit ID.
IM__NOKEYBIND Error Keybind data is not set up yet.




キー名を示す文字列から,そのキーに対応する KEYCODEを得ます。

VMSバインディング

status =IM$GET_KEYCODE (key_name, keycode)


戻り値



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



引数



key_name

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


KEYCODEを知りたいキーのキー名を示す文字列。個々のキーのキー名については,『ユーザ・キー定義 利用者の手引き』を参照してください。

keycode

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


キー名に対応するKEYCODE。


Cバインディング

keycode =ImGetKeycode (key_name)


戻り値

GET KEY CODEはパラメータに渡されたキー名に対応するKEYCODEを返します。渡された文字列がキー名でない場合はGET KEYCODEは0を返します。


引数



char *key_name (Input)

KEYCODEを知りたいキーのキー名を示す文字列。

説明

GET KEYCODEは,キー名を示す文字列を整数値KEYCODEに変換します。大文字・小文字は区別されません。

戻される条件値

シンボル 重大度 メッセージ
IM__SUCCESS Success Normal successful completion.
IM__NOTKEYNAME Error The string is not a key name.
IM__INVSTRDES Error Invalid string descriptor.


目次 索引

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