日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
GENCAT |
メッセージ・テキスト・ソース・ファイルをメッセージ・カタログ・ファイルにマージします。
GENCAT msgfile[,...] catfile
msgfile
必須。メッセージ・テキスト・ソース・ファイルの名前。デフォルトのファイル・タイプは .MSGX です。
catfile
必須。メッセージ・カタログ出力ファイルの名前。 catfile がすでに存在する場合には,既存のカタログのメッセージも含んだ新しいバージョンが作成されます。ファイル・タイプは .CAT でなければなりません。
なし
GENCATコマンドは,1つ以上の入力ソース・ファイル,および既存のカタログ・ファイル(ある場合)から,メッセージ・カタログを新しく作成します。メッセージ・カタログは,アプリケーション用のメッセージを含むバイナリ・ファイルです。エラー・メッセージ,画面表示,プロンプトなど,アプリケーションが出力するすべてのメッセージがここに含まれます。アプリケーションは,Cランタイム・ライブラリ・ルーチンの catopen,catgets,および catcloseを使用して,メッセージ・カタログからメッセージを検索します。これらのルーチンについての詳細は,『HP C ランタイム・ライブラリ・リファレンス・マニュアル』を参照してください。メッセージ・テキスト・ソース・ファイルは,ユーザが作成するテキスト・ファイルであり,ユーザのプログラムから出力されるメッセージをここに入れます。テキスト・ソース・ファイルには,任意のテキスト・エディタで,メッセージを入力できます。メッセージは,通常,プログラムの機能サブセットに相当するセットにグループ化できます。各メッセージは,そのセット内で一意の数字の識別子を持ちます。メッセージ・テキスト・ソース・ファイルには,セットおよび個別メッセージを処理するための, GENCATで認識されるコマンドを指定することもできます。
メッセージ・テキスト・ソース・ファイルは,いくつ指定しても構いません。 GENCATコマンドは,複数のソース・ファイルを,指定された順に1つずつ処理します。連続する各ソース・ファイルが,カタログを変更します。
catfile という名前のメッセージ・カタログが存在する場合, GENCAT は,旧バージョンの内容を含むファイルを,新バージョンのファイルとして作成し,これを更新します。メッセージ・カタログが存在しない場合,GENCATは, catfile という名前のカタログを作成します。
catfile には,次のコマンドを指定できます。
- message_number text
textをメッセージとして,識別子message_number (メッセージ番号)とともに挿入します。この場合,次のガイドラインに従います。
- 番号は,各セット内で昇順でなければならない。番号を飛ばして指定することはできるが,GENCATセッションの中で,飛ばした番号を後で追加したり,既存の番号を置き換えることはできない。
- メッセージ・テキストが空で,スペースまたはタブのフィールド・セパレータがある場合,空白文字列がメッセージ・カタログに格納される。
- メッセージ・ソース行にメッセージ番号が指定されているが,フィールド・セパレータもメッセージ・テキストもない場合,その番号の既存のメッセージ(ある場合)が,カタログから削除される。
- $delset set_number
set_numberで示されるメッセージのセットを削除します。- $quote character
引用文字をcharacterに設定します。詳細は,例を示した節を参照してください。- $set set_number
このコマンド以降に入力されるすべてのメッセージを, set_numberで示されるセットに設定することを指定します。別の$setコマンドを入力することによって,セットを変更できます。ただし,セット番号は昇順で入力しなければなりません。 GENCATセッションの中で,番号の低いセットに戻ることはできません。コマンドが使用されない場合,デフォルトのセット番号は1です。
各初期キーワードまたは番号のあとに,空白がなければなりません。 GENCATユーティリティは,行の先頭にスペース,タブ,またはドル記号 ($) 文字 (スペース,タブ,または改行文字が続く場合) がある場合,その行を無視します。このため,この並びを使用して, catfile 内でコメントを指定できます。空白行も無視されます。 GENCATは,$delset,$quote,または$setコマンドに続く文字を無視するため,これらのコマンドの後にコメントを指定することもできます。
数字ではじまる行は,カタログに取り込まれるメッセージを表します。メッセージID番号とメッセージ・テキストの間に,任意の数の空白を指定できます。ただし,メッセージ・テキストが引用符で区切られていない場合は,スペースまたはタブ文字を1つだけ指定することをおすすめします。メッセージ・テキストが引用符で区切られていない場合,GENCATは,空白もメッセージの一部として処理します。なお,メッセージ・テキストが引用符で区切られている場合には,GENCATは,メッセージIDと先頭の引用符とのあいだのスペースまたはタブを,すべて無視します。
C言語で認識されるようなエスケープ・シーケンスを,テキストの中で使用できます。エスケープ文字のバックスラッシュ(\)を使用すると,メッセージ・テキストに特殊文字を挿入できます。 表 4-1 を参照してください。
表 4-1 特殊文字 エスケープ・シーケンス 文字 \n 改行 \t 水平タブ \v 垂直タブ \b バックスペース \r キャリッジ・リターン \f 改ページ \\ バックスラッシュ文字(\)。メッセージ・テキストを次の行に継続するのに使用する。 \ ddd 8進数 dddに対応するシングル・バイト文字。 1〜3桁の8進数を指定できる。ただし,8進数に続く文字がやはり有効な8進数の場合は,先頭にゼロを指定する必要がある。たとえば,$ (ドル記号)の8進数は44である。メッセージに$5.00を挿入するには,\445.00ではなく, \0445.00を使用する。そうでない場合には,5が,8進数の一部として解析される。
GENCATがエラーを報告した場合,コマンドに対して何らかの処理が行われることはなく,既存のカタログはそのまま変更されません。
#1 |
---|
$set 10 Communication Error Messages |
この例は,ソース・ファイルの中で$setコマンドを使用し,メッセージ・グループに対してセット番号を割り当てます。
メッセージ・セット番号は10です。この$setコマンドと次の$setコマンドの間のすべてのメッセージに,メッセージ・セット番号10が割り当てられます (セット番号は昇順に割り当てられなければなりませんが,番号が連続している必要はありません)。
なお, $setコマンドにはコメントを指定できます。
#2 |
---|
$delset 10 Communication Error Messages |
この例は,$delsetコマンドを使用して,指定されたメッセージ・セット(この場合は10)に属するすべてのメッセージを,カタログから削除します。
$delsetコマンドは,同じソース・ファイル内の$setコマンドに関して,正しいセット番号の順序で指定する必要があります。なお,$delsetコマンドにはコメントを指定できます。
#3 |
---|
12 "file removed" |
この例は,メッセージ・テキストの入力,およびそれに対するメッセージID番号の割り当て方法を示します。この場合,メッセージID 12が,これに続くテキストに割り当てられます。
メッセージID番号とメッセージ・テキストのあいだには,少なくとも1つのスペースまたはタブ文字が必要ですが,複数のスペースまたはタブを指定しても構いません。複数のスペースまたはタブを指定した場合,これらは,メッセージ・テキストが引用符で囲まれていると無視され,メッセージ・テキストが引用符で囲まれていなければテキストの一部と見なされます。
メッセージ番号は,1つのメッセージ・セットの中で昇順でなければなりませんが,番号が連続している必要はありません。
メッセージ番号の後から行の終端までのすべてのテキストが,メッセージ・テキストとして取り込まれます。行の最終文字としてエスケープ文字のバックスラッシュ(\)を指定すると,メッセージ・テキストは次の行に継続します。次の例を参照してください。
This is the text associated with \ message number 5.
この例に示す2行は,次の1行のメッセージを定義します。
This is the text associated with message number 5.
#4 |
---|
$quote " Use a double quote to delimit message text $set 10 Message Facility - Quote command messages 1 "Use the $quote command to define a character \ \n for delimiting message text" \n 2 "You can include the \"quote\" character in a message \n \ by placing a \\ (backslash) in front of it" \n 3 You can include the "quote" character in a message \n \ by having another character as the first nonspace \ \n character after the message ID number \n $quote 4 You can disable the quote mechanism by \n \ using the $quote command without \n a character \ after it \n |
この例は,引用文字(引用符)の効果を示します。
$quoteコマンドは,二重引用符(")を引用文字として定義します。引用文字は,メッセージ番号の後に指定されるスペース以外の最初の文字でなければなりません。 2番目の引用文字以降のテキストは,すべて無視されます。
この例は,メッセージ・テキストに引用文字を指定する 2通りの方法についても示しています。
- 引用文字の前にバックスラッシュ(\)を指定する。
- メッセージ番号の後の,スペース以外の最初の文字に,別の文字を使用する。これにより,そのメッセージに限って,引用文字を使用できなくなる。
この例は,次のことも示しています。
- 引用文字で囲まれた複数行に渡るメッセージを分割するには,やはりバックスラッシュ(\) が必要である。
- メッセージの中でバックスラッシュ(\)を表示するには,バックスラッシュ(\) を重ねて指定する必要がある。
- \nを使用すると,メッセージを改行文字で編集できる。
- $quoteコマンドを文字引数なしで使用すると,引用文字メカニズムが使用できなくなる。
目次 | 索引 |
|