HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
/START_POSITION=(line,column)
/START_POSITION=(1,1) ( 省略時設定 )
|
ユーザがDEC XTPU を使用して書かれたアプリケーションを起動したときの最初のカーソル位置を指定します。
DEC XTPU 上のアプリケーションが,この修飾子を使用してカーソル位置を設定する処理を行います。
次のようにすると DCL コマンド・ラインで /START_POSITION 修飾子で指定された値を知ることができます。
start_line := GET_INFO (COMMAND_LINE, "start_record"); start_line := GET_INFO (COMMAND_LINE, "start_character"); |
DCL コマンド・ラインで /START_POSITION 修飾子が指定されなかったときは, DEC XTPU は行,カラムともに1を設定します。
日本語 EVE ではこの修飾子を使用して,メイン・バッファのどの位置に最初にカーソルが置かれるかを指定します。省略時の最初の位置は,1行目の1カラム目です。
5.5.16 /WORK
/WORK[=filespec]
/NOWORK
/WORK=SYS$SCRATCH:XTPU$WORK.XTPU$WORK ( 省略時設定 )
|
大きなファイルを編集する場合に XTPU がメモリの待避に使用する作業ファイルを指定します。作業ファイルは,終了時に自動的に削除されます。/NOWORK を指定して XTPU を起動すれば,作業ファイルは作られません。その場合,XTPU が使用できるメモリの量によって,編集できるファイルの大きさが制限されます。
作業ファイルの指定にワイルドカードは使用できません。編集セッションごとに 1 つの作業ファイルが用いられます。作業ファイルの省略時のファイル・タイプは .XTPU$WORK です。
省略時の設定では,XTPU$WORK.XTPU$WORK という作業ファイルが SYS$SCRATCH に作成されます。作業ファイルの指定には,2 通りの方法があります。
$ EDIT/XTPU /WORK=mywork |
SYS$SCRATCH 以外の領域に作業ファイルを作るには,作業ファイル指定に装置名およびディレクトリを指定します。
作業ファイルを作成しない場合には,/NOWORK を使用します。これによって,システム資源の消費量が減り,XTPU の起動がより速くなります。一般に,システムがメモリを制限していない場合や,巨大なファイルを編集したり大量のファイルを編集したりすることがない場合には, /NOWORK を使用することができます。
5.5.17 /WRITE
/WRITE ( 省略時設定 )
/NOWRITE
|
メイン・バッファの内容が書き換えられたときにDEC XTPU 上のアプリケーションが内容を新しいファイルに書き込むかどうかを指定します。
/WRITE 修飾子がどのように処理されるかは,/READ_ONLY 修飾子にも関係しています。 /WRITE は /NOREAD_ONLY と同じです。また /NOWRITE は /READ_ONLY と同じです。
次のような組み合せが DCL コマンド・ラインで使用されたときには,DEC XTPU はエラーを通知して DCL に戻ります。
DEC XTPU で書かれたアプリケーションがこの修飾子を処理します。次のようにすれば,/WRITE または /NOREAD_ONLY 修飾子が DCL コマンド・ラインで使用されたかどうかを知ることができます。
x := GET_INFO (COMMAND_LINE, "write"); |
1という値は,/NOREAD_ONLY あるいは /WRITE が明示的に指定されたことを示します。
次のようにすれば,/NOWRITE または /READ_ONLY 修飾子が DCL コマンド・ラインで使用されたかどうかを知ることができます。
x := GET_INFO (COMMAND_LINE, "read_only"); |
1という値は,/READ_ONLY あるいは /NOWRITE が明示的に指定されたことを示します。
両方の GET_INFO ともに"偽"を返したときには,アプリケーションは省略時の動作をします(省略時の動作はアプリケーションによって異なります)。
日本語 EVE においては,/NOWRITE 修飾子は, /NOMODIFY,/NOOUTPUT を指定したときとまったく同じです。
5.6 DEC XTPU コマンドのパラメータ
DCL レベルで DEC XTPU コマンドの後にパラメータとして OpenVMS ファイル仕様を使用することができます。ファイル仕様はDEC XTPU で作成または編集したいファイルの名前をオペレーティング・システムに対して指定するために使用されます。以下のコマンド・ラインは日本語 EVE のセクション・ファイルを使用して DEC XTPU を起動し,history.txt というファイルを指定します。
$ EDIT/XTPU/SECTION=sys$library:jeve$section_v3 history.txt |
セクション・ファイルを使用しないでDEC XTPU を起動するときには,パラメータを指定する必要はありません。しかし,DEC XTPU の上にレイヤ構造となっている編集インタフェースの多くは,処理したいファイルを指定するために DCL コマンド・ラインのパラメータが使用されています。たとえば,日本語 EVE は省略可能なパラメータとしてファイル仕様を受け付けます。ファイル名を指定しなくても編集セッションを開始することはできますが,バッファにデータを入力した後で DEC XTPU を終了しようとすると,ファイル名を要求するプロンプトが表示されます。
ファイル仕様はファイル名だけでも,また次の例に示されているように,完全なファイル仕様でも指定できます。
$ EDIT/XTPU disk$user:[smith]letter.dat |
使用しているインタフェースによって,DEC XTPU は入力ファイル名の一部としてワイルドカード文字を認識できる場合とできない場合があります。日本語 EVE はワイルドカード文字に対して一致するものが1つのときに,ワイルドカード文字を処理します。それ以外の場合には,日本語 EVE は該当するファイル名の候補を表示して,指定を求めます。
ファイル仕様の一部としてバージョン番号を指定する必要はありません。バージョン番号を指定しなかったときには,DEC XTPU はディレクトリの中で最大のバージョン番号を読み込みます。古いバージョンのファイルを編集したい場合には,ファイル仕様にバージョン番号を指定してください。
ファイル仕様には複数のファイルを同時に指定することができます。複数のファイルを指定する場合にはファイル名をコンマ (,) で区切って指定します。以下の例では first.txt と second.txt の 2 つのファイルを指定しています。
$ EDIT/XTPU first.txt,second.txt |
コマンド・ラインに /OUTPUT 修飾子を指定することにより出力ファイルの名前を指定しない限り,日本語 EVE は入力ファイルの名前を出力ファイル名として使用します。この場合,編集しているもとのバージョンが変更されることはありません。システム管理者がバージョン・リミットをセットしていない限り,もとのバージョンもディレクトリにそのまま保存されます。DEC XTPU を終了すると,新しいファイルが入力ファイル・ディレクトリに作成されます(別のディレクトリを指定していない場合)。出力ファイルは入力ファイルと同じ名前になりますが,バージョン番号は入力ファイルより1つだけ大きい番号となります。
この章では,呼び出し可能な DEC XTPU ルーチンについて説明します。すなわち,呼び出し可能なルーチンの目的,ルーチン呼び出しのパラメータ,および主なステータス値について解説します。呼び出し構文のパラーメータは, DEC XTPU ルーチンに渡すオブジェクトを表します。それぞれのパラメータの説明では,そのオブジェクトのデータ型と受け渡し方法とを示します。データ型は, OpenVMS の標準データ型です。受け渡し方法は,パラメータ・リストがどう解釈されるかを示します。
この章は,対象読者として,以下の事柄を十分に理解しているシステム・プログラマを想定しています。
呼び出し可能な DEC XTPU は,他の言語やアプリケーションの中から DEC XTPU にアクセスできるようにするものです。OpenVMS 呼び出し規則に従った呼び出しを生成する言語で書かれたプログラムであれば,その中から DEC XTPU を呼び出すことができます。また,MAIL ユーティリティなど, OpenVMS のユーティリティからも DEC XTPU を呼び出すことができます。呼び出し可能なDEC XTPU によって,ユーザ・プログラムの内部でテキスト処理機能を実行することが可能となります。
呼び出し可能なDEC XTPU はDEC XTPU の共有可能イメージである XTPUSHR.EXE に存在する呼び出し可能なルーチンから構成されます。呼び出し可能なDEC XTPU を使用するためには,この共有可能イメージとリンクします。共有可能イメージには,呼び出し可能なインタフェース・ルーチン名と定数が含まれています。DCL レベルの DEC XTPU インタフェースの場合と同様に,呼び出し可能なDEC XTPU への入力として,また出力として,ファイルを使用することができます。さらに入力,出力,およびメッセージを処理するために独自のルーチンを作成することもできます。
呼び出し側のプログラムは,DEC XTPU プロシージャに渡すパラメータが,その DEC XTPU プロシージャの受け付けるデータ型および形式であることを確実にしなければなりません。
この章で説明しているDEC XTPU ルーチンは,そのルーチンの終了ステータスを示す条件値を返します。返された条件値とテスト値を比較する場合には,ランタイム・ライブラリの LIB$MATCH_COND を使用しなければなりません。条件値を単純な整数としてテストしないようにしてください。
6.1.1 呼び出し可能なDEC XTPU に対する2つのインタフェース
呼び出し可能なDEC XTPU は,単純な呼び出し可能インタフェースと完全な呼び出し可能インタフェースの2通りの方法でアクセスすることができます。
単純な呼び出し可能インタフェース
呼び出し可能なDEC XTPU を使用するためのもっとも簡単な方法は,単純な呼び出し可能インタフェースを使用することです。DEC XTPU には,単純な呼び出し可能インタフェースで使用できる2つのルーチンがあります。これらのルーチンはさらに以下の操作を実行する他のルーチンを呼び出します。
単純な呼び出し可能インタフェースを使用する場合,DEC XTPU を起動するためのコマンド・ラインを指定する XTPU$XTPU ルーチンか,または入力ファイルと出力ファイルとを指定する XTPU$EDIT ルーチンを使用します。 XTPU$EDIT はコマンド文字列を作成し,それを XTPU$XTPU へ渡します。これらの2つのルーチンについては, 第 6.2 節 で詳しく説明します。
完全な呼び出し可能インタフェース
完全な呼び出し可能インタフェースを使用する場合には,呼び出し可能な DEC XTPU のメイン・ルーチンを直接アクセスするプログラムを使用します。これらのルーチンは以下の操作を実行します。
| エディタを初期化する | XTPU$INITIALIZE |
| DEC XTPU プロシージャを実行する |
XTPU$EXECUTE_INIFILE
XTPU$EXECUTE_COMMAND |
| エディタを制御する | XTPU$CONTROL |
| 編集セッションを終了する | XTPU$CLEANUP |
完全な呼び出し可能インタフェースを利用する場合,一定のパラメータに値を指定しなければなりません。ある場合には,値として追加ルーチンのアドレスを指定することになります。たとえば,XTPU$INITIALIZE を呼び出す場合には,初期化オプションを指定するルーチンのアドレスを指定しなければなりません。アプリケーションによっては,ユーザが追加ルーチンを作成しなければならないこともあります。たとえば,ファイルを操作したり,エラーを処理したり,あるいは編集セッションを制御したりするルーチンを作成する必要があるかもしれません。呼び出し可能な DEC XTPU は,そうした作業のいくつかを肩代わりするユーティリティ・ルーチンを用意しています。ユーティリティ・ルーチンによって以下のようなことができます。
完全な呼び出し可能インタフェースについては,以下の各節に詳しく説明されています。
| 第 6.3 節 | まずインタフェースの簡単な説明が示されていますが,この節の大部分は呼び出し可能なDEC XTPU のメイン・ルーチンの説明にあてられています (XTPU$INITIALIZE,XTPU$EXECUTE_INIFILE,XTPU$CONTROL, XTPU$EXECUTE_COMMAND,XTPU$CLEANUP)。 |
| 第 6.3.2 項 | 完全な呼び出し可能インタフェースで使用できる追加ルーチンが説明されています。 |
| 第 6.3.3 項 | 完全な呼び出し可能インタフェースで使用できるルーチンを作成するための必要条件が定義されています。 |
完全な呼び出し可能インタフェースは,呼び出し可能なDEC XTPU メイン・ルーチンと DEC XTPU ユーティリティ・ルーチンから構成されます。
6.1.2 共有可能イメージ
単純な呼び出し可能インタフェースを使用する場合も,完全な呼び出し可能インタフェースを使用する場合も, DEC XTPU の共有可能イメージにリンクすることにより,呼び出し可能なDEC XTPU にアクセスすることができます。このイメージにはアプリケーションで使用できるルーチン名と定数が含まれています。さらに,XTPUSHR.EXE には,以下のシンボルも含まれています。
| XTPU$GL_VERSION | 共有可能イメージのバージョン |
| XTPU$GL_UPDATE | 共有可能イメージの更新番号 |
| XTPU$_FACILITY | DEC XTPU のファシリティ・コード |
共有可能イメージ,XTPUSHR.EXE のリンク方法については,『日本語 OpenVMS 概説書』を参照してください。
6.1.3 呼び出し可能なDEC XTPU ルーチンに対するパラメータの受渡し
パラメータは参照またはディスクリプタによって呼び出し可能なDEC XTPU に渡されます。パラメータがルーチンの場合には,パラメータはバウンド・プロシージャ値(BPV) データ・タイプとしてディスクリプタによって渡されます。
バウンド・プロシージャ値とは,2つのロングワードから構成される値であり,最初のロングワードにはプロシージャのアドレスが含まれており,2番目のロングワードには環境値が含まれています。 図 6-1 を参照してください。環境値は最初のバウンド・プロシージャ値を作成するときに言語固有の方法で決定されます。バウンド・プロシージャが呼び出されると,呼び出しプログラムは 2番目のロングワードをR1にロードします。
図 6-1 バウンド・プロシージャ値
6.1.4 エラー処理
単純な呼び出し可能インタフェースを使用する場合,DEC XTPU はすべてのエラーを処理するために独自の条件ハンドラである
XTPU$HANDLER を設定します。完全な呼び出し可能インタフェースを使用する場合には,以下の2通りの方法でエラーを処理することができます。
省略時の条件ハンドラである XTPU$HANDLER については XTPU$FILEIO を参照してください。また,ユーザ独自の条件ハンドラを作成する方法については,『OpenVMS Programming Concepts Manual』を参照してください。
6.1.5 戻される値
DEC XTPU の条件コードはすべてユニバーサル・シンボルとして宣言されます。したがって,自分のプログラムを共有可能イメージにリンクすると,自動的にこれらのシンボルにアクセスできるようになります。DEC XTPU は条件コード値を R0 にセットします。DEC XTPU のリターン・コードについては,『DEC Text Processing Utility Reference Manual』を参照してください。DEC XTPU が返すリターン・コードとそのメッセージについては,Help/Message ファシリティを参照してください。
この後の節では,呼び出し可能なDEC XTPU ルーチンの説明の中に条件コードに関する情報も示されています。この情報は“戻される条件値”という見出しの下に示されており,省略時の条件ハンドラが設定されているときに戻される値を示しています。
6.2 単純な呼び出し可能インタフェース
DEC XTPU の単純な呼び出し可能インタフェースは XTPU$XTPU と XTPU$EDIT という 2つのルーチンから構成されています。DEC XTPU に対するこれらのエントリ・ポイントは,以下のアプリケーションで使用することができます。
| 前へ | 次へ | 目次 | 索引 |