HP OpenVMS Systems Documentation |
前へ | 次へ | 目次 |
23行よりも長いFMSフォームを,フォーム・ドライバまたはフォーム・エディタのどちらかで使う場合は,端末は,フォームの最終行より少なくとも1行多い数に設定する必要があります。フォーム・エディタを使用する場合は,エディタを呼び出す前に,あらかじめDCLの"SET TERMINAL/PAGE"コマンドを出してこれを行う必要があります。フォーム・ドライバを使用する場合は,アプリケーションを稼働させる前に,あらかじめDCL "SET TERMINAL/PAGE"コマンドを出すか,またはIO$_ SETMODE QIOにより行うことができます。FDV$ATERM呼び出しがすでに出されている場合は,FDV$SCR_LENGTHに対する呼び出しをIO$_SETMODE QIOの後に続け,フォーム・ドライバに新しいページ設定を教える必要があります。
フォームで必要なページ設定を決めるには,フォーム属性で指定されている数値をクリアするための最終行に1行を足すか,またはフィールドあるいはバックグラウンド・テキストのどちらかを含む最終行に1行を足してください(大きい方の値にします)。例えば,あるフォームに1から30までをクリアする領域があるが,40行目にフィールドがある場合,このフォームを表示するのに必要なページ設定は41となります。また,あるフォームに1から30をクリアする領域があり,かつ28行目以降にフィールドやテキストが何もない場合は,このフォームを表示するのに必要なページ設定は31となります。
日本語 HP FMS V2.5では,フォーム・ドライバが,ローマ字・かな漢字変換機能を持っています。フォーム・ドライバの入力関係のルーチンを呼び出すことにより,VT280あるいはVT380シリーズ漢字端末装置から,漢字を入力することができます。
3.1 フォーム・ドライバの呼び出し
日本語 HP FMSフォーム・ドライバのインタフェースは,ルーチン名や引数など,英語版のFMSと全く同等です。したがって,英語版のフォーム・ドライバを呼び出しているアプリケーション・プログラムも,ソース・プログラムを修正することなしに,日本語版フォーム・ドライバとリンクしなおすだけで,漢字入力が行えます。
ローマ字・かな漢字変換機能による漢字入力は,次のルーチンで行えます。
FDV$GET FDV$GETAF FDV$GETAL FDV$GETDL FDV$GETSC |
また,漢字入力できるフィールドは,第3.2節で述べる「漢字フィールド」に限定されます。
3.2 漢字フィールド
ローマ字・かな漢字変換により漢字が入力できるフィールドは,「漢字フィールド」に限定されます。漢字フィールドは,フォーム・エディタまたはフォーム・ランゲージにより,次のように定義します。
上記のように定義された漢字フィールドに対して,第3.1節で述べた,入力に関係するフォーム・ドライバ・ルーチンを呼び出すと,漢字,ひらがな,カタカナ,全角文字,特殊記号等への変換が行えます。また, VT280あるいはVT380シリーズ漢字端末でカナ・キーをタイプした場合,漢字フィールドでは自動的に全角ひらがなに変換されます。
3.3 漢字コードの分割
漢字フィールドには,フィールド・マーカ文字を含ませることができますが,漢字フィールドに半角文字を挿入したり削除したりすることにより,2バイトで構成される漢字コードの第1バイト目と第2バイト目がフィールド・マーカ文字により分割されてしまうことがあります。このような場合,VT280あるいはVT380シリーズ漢字端末には正しく表示することができません。日本語FMSのフォーム・ドライバは,このように分割された漢字コードの2バイトを画面上では"X"で表示します。なお,フォーム・ドライバを呼び出しているアプリケーション・プログラムには,漢字コードが正しく返されます。
例 フィールドの定義 XXXX%XXXX ("%" がフィールド・マーカ) 現在のフィールドの表示 ABCD%あい 挿入モードで "A" を削除した時の表示 BCDX%Xい |
日本語FMSでは,ローマ字・かな漢字変換に関係するキー・ファンクションが追加されています。これらの定義は,FDV$DFKBDフォーム・ドライバ・ルーチンの呼び出しに使用することができます。
追加されたキー・ファンクションと対応するコードは,次の通りです。
ファンクション名 | 機能 | デフォルト・キー | DFKBDの値 |
---|---|---|---|
FDV$K_KF_TRHR | ひらがな変換 | キーパッド1 | 51 |
FDV$K_KF_TRKT | カタカナ変換 | キーパッド2 | 52 |
FDV$K_KF_TRTN | 漢字変換/次候補 | キーパッド7 | 53 |
FDV$K_KF_TRPR | 前候補 | GOLD(PF1)〜
キーパッド7 |
54 |
FDV$K_KF_TRFL | 全角変換 | キーパッド3 | 55 |
FDV$K_KF_TRHF | 半角変換 | キーパッド9 | 56 |
FDV$K_KF_TRSP | 記号変換 | キーパッド8 | 57 |
FDV$K_KF_TRNO | 無変換 | キーパッド0 | 58 |
FDV$K_KF_TRSH | 文節縮小 | キーパッド4 | 59 |
FDV$K_KF_TREX | 文節拡張 | GOLD(PF1)〜
キーパッド4 |
60 |
FDV$K_KF_MVRT | 文節右移動 | キーパッド5 | 61 |
FDV$K_KF_MVLF | 文節左移動 | GOLD(PF1)〜
キーパッド5 |
62 |
ファンクション名とDFKBDの値の対応をつけるための定義ファイルが,論理名JFMS$EXAMPLESのディレクトリ内に,プログラミング言語ごとに用意されています。
キー・ファンクションについて,詳しくは『HP FMS for OpenVMS Systems Form Driver Reference Manual』を参照してください。
3.5 日本語FMSフォーム・ドライバのリンク方法
日本語FMSフォーム・ドライバ・ルーチンを呼び出しているアプリケーション・プログラムは,次のように日本語FMSフォーム・ドライバとリンクします。日本語FMSフォーム・ドライバは,共有イメージになっています。従って,リンク時にオプション・ファイルを指定し,その中でフォーム・ドライバを共有イメージとして指定します。
例1
オプション・ファイルFDV.OPTを指定してリンクする方法。
$ $ LINK USERPROG,FDV/OPTION $ |
オプション・ファイルFDV.OPT(テキスト・エディタで作成)の内容
SYS$SHARE:JFDVSHR/SHARE |
例2
Sharable Imageの指定を端末(キーボード)から行う方法。
$ $ LINK USERPROG,SYS$INPUT/OPTION SYS$SHARE:JFDVSHR/SHARE Ctrl/Z $ |
日本語FMSのフォーム・ドライバからのエラー・メッセージは,通常,日本語で表示されます。VT280あるいはVT380シリーズ以外の端末装置 (VT100シリーズ等)で使用する場合,次のような方法でメッセージファイルを切り換えることにより,英語によるエラー・メッセージを出力させることができます。
$ ASSIGN SYS$MESSAGE:JFDVMSGE.EXE JFDVMSG |
日本語FMSを利用しているアプリケーション・プログラムを起動する前に前記のコマンドを実行してください。なお,この機能は単にエラー・メッセージを英語で表示するように切り換えるだけで,漢字フィールドはあくまで漢字フィールドとして扱われますので,VT280あるいはVT380 シリーズ漢字端末以外の端末装置を使用しても,漢字フィールドに半角カナを入力したり,表示したりすることはできません。また,漢字フィールドでのかな・漢字変換は行えますが,意味のない文字が表示されます。
3.7 制限事項および注意事項
日本語 HP FMSフォーム・ドライバを使用する上での制限事項および注意事項について説明します。
3.7.1 漢字フィールドのフィールド長
フォーム・エディタやフォーム・ランゲージで漢字フィールドを定義する時に,フィールド長は読みを入力するのに充分な大きさを与えなければなりません。
3.7.2 漢字データの表示
次のルーチンにより漢字データを漢字フィールドに表示する場合,その漢字フィールドはデータを表示するのに充分な長さを持っていなければなりません。
FDV$PUT FDV$PUTAL FDV$PUTD FDV$PUTDA FDV$PUTL FDV$PUTSC |
表示する漢字データがフィールド長より長い場合,フォーム・ドライバはフィールドの長さに合わせて表示データを切り捨てます。この時,フィールドがちょうど漢字の1バイト目と2バイト目の境界で切れてしまう場合,フォーム・ドライバは最後の1バイトに初期挿入文字を挿入します。
3.7.3 DECマルチナショナル文字セット
VT200シリーズ等のDECマルチナショナル文字セットをサポートする端末を使用している場合,かなフィールドの指定を行えばDECマルチナショナル文字セットを使用することができます。ただし,日本語FMSでは入力されたコードがDECマルチナショナル文字セットに定義されているかどうかのチェックを行いません。
ここでは,日本語FMSのユーティリティについて,特に英語版との相違点および注意事項について述べます。日本語FMSのユーティリティの各機能は,英語版FMSのユーティリティと全く同じです。各ユーティリティの詳細は,『HP FMS Utilities Reference Manual』を参照してください。
4.1 DCLコマンド
日本語FMSのユーティリティは,JFMSコマンドにより起動します。
4.2 フォーム・エディタ (JFMS/JEDIコマンドおよびJFMS/EDITコマンド)
JFMS/JEDIまたはJFMS/EDITコマンドにより日本語FMSフォーム・エディタが起動されます。JFMS/JEDIではメニュー,ヘルプ,メッセージが日本語で表示され,JFMS/EDITでは英語で表示されます。
日本語フォーム・エディタによりLayoutフェーズでフォーム内に日本語を入力し,フォームの編集を行うことができます。詳しくは,『日本語 FMSフォーム・エディタ利用者の手引き』を参照してください。
4.2.1 日本語入力が可能な項目
日本語FMSのフォーム・エディタにより,Layoutフェーズ以外でも次の項目で日本語が入力できます。ただし,これらの項目には半角カナを入力することはできません。
UAR名:入力はできますが,受け付けられません。関連データ:入力可能です。
デフォルト値:入力可能です。
ヘルプ・テキスト:入力可能です。
UAR名:入力できますが,受け付けられません。
関連データ:入力可能です。
日本語FMSでは,GR文字セットの指定を行うことができます。文字セットとして"SET1"を指定するとGRはG2(カナ)になります。"SET1”以外の指定(「指定なし」も含む)をするとG3(漢字)になります。これにより,一つのフォーム上で,漢字と半角カナの混在が可能になります。
4.3 フォーム・ランゲージ・トランスレータ (JFMS/TRANSLATEコマンド)
フォーム・エディタで日本語が入力できる項目に対応する文で,日本語の使用が可能です。ただし,拡張漢字セット内の漢字で,第2バイト目が引用符(')に対応するコード(16進27)を持つものは使用できません。
4.4 フォーム・ライブラリアン (JFMS/LIBRARYコマンド)
日本語のデータを含むフォームをフォーム・ライブラリに登録することが可能です。また,英語版FMSのフォーム・ライブラリアンと完全に互換性があります。
4.5 フォーム・テスタ (JFMS/TESTコマンド)
日本語FMSのフォーム・テスタでは,漢字フィールドとして定義されているフィールドに対して,日本語の入力が可能です。
4.6 ヘルプ・テキスト (HELPコマンド)
日本語FMS(JFMSコマンド)のヘルプ・テキストが用意されています。
$ HELP @JSYHELP JFMS |
により,VT280あるいはVT380シリーズ漢字端末装置から日本語FMSユーティリティのヘルプ・テキストを参照することができます。
前へ | 次へ | 目次 |