library home hp.com home products and services support and drivers solutions
cd-rom home
End of Jump to page title
HP OpenVMS Systems
Documentation

Jump to content


日本語 HP OpenVMS

日本語 HP OpenVMS
DEC XTPU
リファレンス・マニュアル


前へ 次へ 目次 索引



SET (MARGIN_ALLOWANCE)


形式

SET (MARGIN_ALLOWANCE, integer)


引数

MARGIN_ALLOWANCE

右マージンを越えて置くことができる行頭禁則文字のカラム数を指定するためのキーワード。

integer

右マージンを越えて置くことができる行頭禁則文字のカラム数を指定する整数。

説明

組込みプロシージャ FILL は行頭禁則文字と行末禁則文字を考慮に入れて文字列を詰め込みます。SET (MARGIN_ALLOWANCE) を使用して,行頭禁則文字が何カラムまで右マージンを越えた位置に存在できるかを指定できます。

初期値は0で,行頭禁則文字は右マージンを越えて存在できません。この場合は,行頭禁則文字が行の先頭にこないように,行頭禁則文字でない文字を伴って次の行に移されるので,右マージンまで埋まらない行ができることがあります。

FILL,SET (FILL_NOT_BEGIN),SET (FILL_NOT_END) も参照してください。


シグナル・エラー

XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANY ERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない
XTPU$_BADVALUE ERROR 負の値が指定された


SET (MESSAGE_CODESET)


形式

SET (MESSAGE_CODESET, keyword)


引数

MESSAGE_CODESET

メッセージのコードセットを指定するためのキーワード。

keyword

設定するメッセージ・コードセットを示すキーワード。指定できるキーワードは,DEC_MCS,ISO_LATIN1,ASCII_JISKANA, DECKANJI,DECKANJI2000,SDECKANJI,SJIS,ISO2022JP,UCS2,または UTF8 です。

説明

SET (MESSAGE_CODESET) はメッセージ・ファイルに書かれた内容の解釈の方法を規定します。たとえばメッセージファイルに 177 というコードが書かれていたときに,メッセージ・コードセットが ISO_LATIN1 に設定されていると半角の "±" という文字に解釈されますが,メッセージ・コードセットが ASCII_JISKANA に設定されていると, JIS カタカナ文字セット (半角) の "ア" という文字に解釈されます。

SET (CODESET),SET (KEYBOARD_CODESET),SET (OUTPUT_CODESET) も参照してください。


シグナル・エラー

XTPU$_BADKEY WARNING 正しくないキーワードが指定された
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANY ERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない


SET (OUTPUT_CODESET)


形式

SET (OUTPUT_CODESET, buffer, keyword)


引数

OUTPUT_CODESET

バッファの出力コードセットを指定するためのキーワード。

buffer

出力コードセットを設定するバッファを指定します。

keyword

設定するコードセットを示すキーワード。指定できるキーワードは,DEC_MCS,ISO_LATIN1,ASCII_JISKANA, DECKANJI,DECKANJI2000,SDECKANJI,SJIS,ISO2022JP,UCS2,または UTF8 です。

説明

バッファのコードセットには2種類あり,SET (OUTPUT_CODESET)で指定するコードセットはWRITE_FILE 組込みプロシージャでファイルを書き出すときに使われます。ファイルに読み込むときに使われるコードセットはSET (CODESET)組込みプロシージャで設定します。

SET (CODESET),SET (KEYBOARD_CODESET),SET (MESSAGE_CODESET) も参照してください。


シグナル・エラー

XTPU$_BADKEY WARNING 正しくないキーワードが指定された
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANY ERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない


SET (VIDEO_CHARACTER_SET)


形式

SET (VIDEO_CHARACTER_SET, keyword, {ON|OFF|1|0})


引数

VIDEO_CHARACTER_SET

端末に表示する文字セットを設定するキーワード。

keyword

有効または無効にする文字セットを示すキーワード。指定できるキーワードは,DEC_SUPPLEMENTAL,LATIN1_SUPPLEMENTAL, JIS_ROMAN,JIS_KATAKANA,KANJI_1,KANJI_3,KANJI_4,または KANJI_UDC です。

ON または 1

指定した文字セットを有効にすることを指定します。

OFF または 0

指定した文字セットを無効にすることを指定します。

説明

SET (VIDEO_CHARACTER_SET) 組込みプロシージャは,端末が持っている文字セットの情報を DEC XTPU に通知するために使われます。DEC XTPU は,端末が持っている文字セットの情報を使って,端末が表示できない文字をダイアモンド・シンボルで表示する機能を持っています。

しかし DEC XTPU が端末が持っている文字セットの正しい情報を持っていないと文字化けを起こしたり,表示できるはずの文字がダイアモンド・シンボルになってしまいます。このような場合は SET (VIDEO_CHARACTER_SET) 組込みプロシージャで正しい情報をDEC XTPUに知らせることができます。


シグナル・エラー

XTPU$_BADKEY WARNING 間違ったキーワードが指定された
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANY ERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない


SPLIT_LINE

この組込みプロシージャは現在の行を現在の文字位置で区切り,2つの行を作成します。

形式

SPLIT_LINE


引数

なし


説明

SPLIT_LINE 組込みプロシージャに関する基本的な説明は,『DEC Text Processing Utility Reference Manual』を参照してください。

現在の文字位置が2カラム文字の2カラム目にあるときに SPLIT_LINE を実行すると,1カラム目にあるときと同様に行が分割されます。


シグナル・エラー

XTPU$_NOCURRENTBUF WARNING 現在のバッファが設定されていない
XTPU$_NOTMODIFIABLE WARNING 変更が禁止されているバッファの内容は変更できない
XTPU$_NOCACHE ERROR 十分なメモリがない
XTPU$_TOOMANY ERROR パラメータの数が多すぎる


SYMBOL

この組込みプロシージャは,1〜3個の文字の組合せをDEC漢字コード中の特殊文字の 1つに変換してそれを通知します。また,区点コード変換および16進コード変換を行います。

形式

string2 := SYMBOL (string1)


引数

string1

特殊文字を生成するもととなる文字列。

説明

この組込みプロシージャは,ASCII 文字からDEC漢字セットの特殊記号文字および罫線文字の変換およびコード変換を行います。これは日本語OpenVMS かな漢字変換ライブラリを使っています。変換対応表については,『日本語ライブラリ 利用者の手引き』の付録Bを参照してください。

シグナル・エラー

XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANY ERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない
XTPU$_NEEDTOASSIGN ERROR SYMBOL は代入文の右辺でのみ使用できる


このプロシージャは,現在の編集位置に '≠' を挿入します。


PROCEDURE user_symbol 
  COPY_TEXT (SYMBOL('=/')); 
ENDPROCEDURE; 


VERIFY_BUFFER

この組込みプロシージャは,バッファの中に存在する指定したコードセットで表現できない文字を検索し,表現できない文字が連続する領域をレンジで戻します。該当する文字がないときには整数値 0 を戻します。

形式

{range | 0} := VERIFY_BUFFER (keyword, {FORWARD | REVERSE})


引数

keyword

コードセットを表すキーワード。指定できるキーワードは,DEC_MCS, ISO_LATIN1,ASCII_JISKANA,DECKANJI,DECKANJI2000,SDECKANJI, SJIS,ISO2022JP,UCS2,または UTF8 です。

FORWARD

現在の変終点からバッファの終わりの方向に検索することを指定するキーワード。

REVERSE

現在の変終点からバッファの先頭の方向に検索することを指定するキーワード。

説明

この組込みプロシージャは WRITE_FILE でファイルに書き込む前に,バッファ中の文字がそのままファイルに書き込めるかどうかを調べるために使います。VERIFY_BUFFER で検索された文字列は,指定したコードセットで正しくファイルに書き込むことができません。戻される range には,最初に見つかった該当する文字が連続する領域のレンジが入ります。

シグナル・エラー

XTPU$_BADKEY WARNING 間違ったキーワードが渡された
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANY ERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない
XTPU$_NEEDTOASSIGN ERROR VERIFY_BUFFER 組込みプロシージャは代入文の右辺でのみ使用できる


第 5 章
DEC XTPU の起動

この章では DEC XTPU の起動法について説明します。特に DEC XTPU を起動するコマンドである EDIT/XTPU コマンドの使い方を詳しく説明しています。

5.1 概要

DEC コマンド言語(DCL)レベルで下記のコマンドを入力すると, DEC XTPU が起動され,編集インタフェースとして日本語 EVE が使用されます。


$ EDIT/XTPU

この章は,以下のような節から構成されています。

5.2 仮想アドレス空間に関するエラーを避ける方法

DEC XTPU はデータをプロセスの仮想メモリ空間で扱います。もし,DEC XTPU のイメージ,データ構造,およびメモリ中に展開されたファイルに必要な空間が仮想アドレス空間を越えてしまった時には, DEC XTPU はデータの一部をワーク・ファイルに書き出し,開放されたメモリを必要な処理のために使用します。

ワーク・ファイルがいっぱいになると XTPU$_GETMEM または XTPU$_NOCACHE というエラー・メッセージが出力されます。不要なバッファを消去することでメモリを開放することもできますが,このようなエラーが発生したときには,処理を中断することが望まれます。再起動した後,必要なバッファのみを使用して処理を続けてください。ワーク・ファイルを十分な容量のあるディスクに置くことも可能です。ワーク・ファイルを置くディレクトリは,論理名 XTPU$WORK で指定してください。

プロセスに割り当てられる仮想アドレス空間を拡げることで,この回復不可能な内部エラーを避けることもできます。仮想アドレス空間は,以下の二つの要素によって決まります。

VIRTUALPAGECNT はプロセスにマップされる仮想ページの数を制御します。 VIRTUALPAGECNT に関する詳しい説明は,『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』を参照してください。

ページ・ファイル・クォータは,プロセスに割り当てられるシステム・ページ・ファイルの数を制御します。ページ・ファイル・クォータに関する詳しい説明は,『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』の /PGFLQUOTA 修飾子を参照してください。

仮想アドレス空間を拡げるためには,VIRTUALPAGECNT とページ・ファイル・クォータの両方を変える必要があるかもしれません。

5.3 DCL コマンド・プロシージャからDEC XTPU を起動する場合

DEC XTPU をコマンド・プロシージャから起動しなければならないのは,以下の 2 つの場合です。

5.3.1 特殊な編集環境の設定

最初に必要とする環境を設定し,次にDEC XTPU を起動する DCL コマンド・プロシージャを作成すれば,特殊な編集環境でDEC XTPU を実行することができます。この場合,SYS$INPUT に SYS$COMMAND と同じ値を代入しなければなりません。


$ DEFINE/USER SYS$INPUT SYS$COMMAND

例 5-1 は最後に編集したファイルを"記憶"し,そのファイルを DEC XTPU に対する入力ファイルとして使用する DCL コマンド・プロシージャを示したものです。ファイル名を DCL のシンボル last_file_editid に記憶した後,この DCL コマンド・プロシージャは省略時のセクション・ファイル(別のセクション・ファイルを指定していないため)とユーザ作成コマンド・ファイルを使用して DEC XTPU を起動します。

例 5-1 DCL コマンド・プロシージャ filename.COM

$ IF P1 .NES. "" THEN last_file_edited == P1 
$ WRITE SYS$OUTPUT "*** ''last_file_edited' ***" 
$ DEFINE/USER SYS$INPUT SYS$COMMAND 
$ EDIT/XTPU/COMMAND=DISK$:[USER]XTPUINI.TPU 'last_file_edited 

例 5-2 は FORTRAN プログラムのためのタブ・ストップを指定する環境を設定するコマンド・プロシージャです。

例 5-2 DCL コマンド・プロシージャ fortran_ts.COM

$ IF P1 .EQS. " THEN GOTO REGULAR_INVOKE 
$ last_file_edited == P1 
$ FTN_TEST = F$FILE_ATTRIBUTES (last_file_edited,"RAT") 
$ IF FTN_TEST .NES. "FTN" THEN GOTO REGULAR_INVOKE 
$ FTN_INVOKE: 
$     DEFINE/USER SYS$INPUT SYS$COMMAND 
$     EDIT/XTPU/COMMAND=FTNTABS.TPU 'last_file_edited 
$ GOTO TPU_DONE 
$ REGULAR_INVOKE: 
$     DEFINE/USER SYS$INPUT SYS$COMMAND 
$     EDIT/XTPU 'last_file_edited 
$ TPU_DONE: 

5.3.2 対話方式でない編集環境の設定

一部の編集操作では編集コマンドを対話方式で入力するより,すべての編集コマンドをファイルに記憶し,ファイルからそれらのコマンドを読み取る方が便利なことがあります。また編集結果をスクリーンに表示せずに編集を実行したいこともあります。このような編集操作はバッチ・ジョブから実行することができ,また編集セッションの結果をスクリーンに表示したい場合には,このような編集操作を DCL コマンド・プロシージャから実行することもできます。実行中の編集操作がスクリーンに表示されない場合でも,コマンド・プロシージャが実行されている間,端末装置を自由に使用することはできません。

例 5-3 は下記の方法で DEC XTPU を起動するためのコマンド・ラインを含む DCL コマンド・プロシージャを示したものです。

コマンド・プロシージャのファイル名は invisible_tpu.COM です。

例 5-3 DCL プロシージャ invisible_tpu.COM

$ EDIT/XTPU/NOSECTION/COMMAND=gsr.TPU/NODISPLAY/NOKANJI_DICTIONARY 'p1' 

/NOSECTION セクション・ファイルは使用しません (エディタを初期化するためにバイナリ・セクション・ファイルのプロシージャやキー定義は使用されません)。
/COMMAND=gsr.TPU 実行したい編集操作はコマンド・ファイルに含まれています。
/NODISPLAY スクリーン管理機能(ウィンドウ,カーソルなど)は認識されません。
/NOKANJI_DICTIONARY かな漢字変換辞書を使用しません。

gsr.TPU というファイルは /COMMAND 修飾子に対するファイル仕様として使用されています。これは現在のバッファを探索し,文字列またはパターンを文字列と置き換えます。 例 5-4 は gsr.TPU というファイルを示したものです。

例 5-4 DEC XTPU コマンド・ファイル gsr.TPU

PROCEDURE global_search_replace (str_or_pat, str2) 
 
! This procedure performs a search through the current 
! buffer and replaces a string or a pattern with a new string 
 
LOCAL src_range, replacement_count; 
 
! Return to caller if string not found 
ON_ERROR 
   msg_text := FAO ('Completed !UL  replacement!%S', 
                                          replacement_count); 
   MESSAGE (msg_text); 
   RETURN; 
ENDON_ERROR; 
 
replacement_count := 0; 
 
LOOP 
   src_range := SEARCH (str_or_pat, FORWARD); 
                                 ! Search returns a range if found 
   ERASE (src_range);            ! Remove first string 
   POSITION (END_OF (src_range));! Move to right place 
   COPY_TEXT(str2);              ! Replace with second string 
   replacement_count := replacement_count + 1; 
ENDLOOP; 
ENDPROCEDURE                     ! global_search_replace 
 
! Executable statements 
input_file:=GET_INFO (COMMAND_LINE,'file_name'); 
main_buffer:=CREATE_BUFFER ('main', input_file); 
POSITION (BEGINNING_OF (main_buffer)); 
global_search_replace ('xyz$_', 'user$_'); 
pat1:= '' & LINE_BEGIN & 't'; 
POSITION (BEGINNING_OF (main_buffer)); 
global_search_replace (pat1, 'T'); 
WRITE_FILE (main_buffer, 'newfile.dat'); 
QUIT; 

注意

/NODISPLAY を EDIT/XTPU コマンド・ラインに指定した場合には,キーを定義することはできません。また編集操作を記憶しているファイルでウィンドウを作成したり操作することもできません。

/NOKANJI_DICTIONARY を EDIT/XTPU コマンド・ラインに指定しなかった時には,その編集操作に対して変換用個人辞書が割り当てられます。このため,バッチ・モードでかな漢字変換機能を使用しない時には, /NOKANJI_DICTIONARY を指定しておくことをお勧めします。

QUIT 組込みプロシージャまたは EXIT 組込みプロシージャを使用してエディタを終了する時には,変更したバッファを出力しなければなりません(この操作は 例 5-4 に示されています)。バッファの内容を変更したのにそのバッファを出力しないと,その変更された内容は失われてしまいます。


前へ 次へ 目次 索引