前へ | 次へ | 目次 | 索引 |
制御をコマンド・プロシージャ内のラベルが付けられたステートメントに渡します。
GOTO ラベル
ラベル
コマンド行の最初の項目として,1 文字から 255 文字までの英数字のラベルを指定します。ラベルの中にブランクを含むことはできません。 GOTO コマンドの実行後,制御は指定されたラベルのあとのコマンドに渡されます。ラベルは,現在のコマンド・プロシージャの中で,GOTO ステートメントの前でもあとでもかまいません。コマンド・プロシージャ内でラベルを使用する場合には,最後にコロンを指定しなければなりません。ラベルが重複している場合,最も最近読まれたラベルへ飛びます。
プロシージャ内の次の行ではない行に制御を移すには,コマンド・プロシージャで GOTO コマンドを使用します。ラベルは,現在のコマンド・プロシージャの GOTO 文の前でも後でも使用できます。コマンド・ストリームがランダム・アクセス装置 ( つまりディスク装置 ) から読み取られていない場合,GOTO コマンドは動作しません。GOTO コマンドのターゲット・ラベルが別の IF-THEN-ELSE 構造内にある場合は,エラー・メッセージ (DCL-W-USGOTO) が返されます。
コマンド・インタプリタは,ラベルを検出すると,ラベル・テーブルにラベルを入れます。このテーブルは,ローカル・シンボル・テーブルで使用できる領域から割り当てられます。コマンド・インタプリタがすでにテーブルに存在しているラベルを検出すると,既存の定義が新しい定義で置き換えられます。したがって,重複ラベルを使用すると,制御は常に DCL が最後に読み取ったラベルに移ります。次の規則が適用されます。
- GOTO コマンドの前と後に重複ラベルがある場合,制御はコマンドの前にあるラベルに移ります。
- すべての重複ラベルが GOTO コマンドより前にある場合,制御は,最新のラベル,つまり GOTO コマンドに最も近いラベルに移ります。
- すべての重複ラベルが GOTO コマンドより後にある場合,制御は,GOTO コマンドに最も近いラベルに移ります。
現在のコマンド・プロシージャにラベルが存在しない場合,プロシージャは続行できないので,強制終了します。
ラベルに使用できる領域のサイズには,制限があることに注意してください。コマンド・プロシージャが多くのシンボルを使用し,多くのラベルがある場合,コマンド・インタプリタのテーブル領域が不足し,エラー・メッセージが出ることがあります。
#1 |
---|
$ IF P1 .EQS. "HELP" THEN GOTO TELL $ IF P1 .EQS. "" THEN GOTO TELL . . . $ EXIT $ TELL: $ TYPE SYS$INPUT To use this procedure, you must enter a value for P1. . . . $ EXIT |
この例では,IF コマンドはプロシージャに渡された最初のパラメータを調べます。このパラメータが HELP という文字列の場合,あるいはパラメータが指定されていない場合には,GOTO コマンドが実行され,制御は TELL というラベルの行に移ります。それ以外の場合には,プロシージャは EXIT コマンドが検出されるまで実行を継続します。 TELL というラベルでは,TYPE コマンドがプロシージャの使用方法を示す入力ストリームのデータを表示します。
#2 |
---|
$ ON ERROR THEN GOTO CHECK . . . $ EXIT $ CHECK: ! Error handling routine . . . $ END: $ EXIT |
ON コマンドは,エラー処理ルーチンを設定します。そのあと,コマンド・プロシージャ内で実行されるコマンドあるいはプロシージャが,エラーまたは重大なエラーを報告した場合には,GOTO コマンドは,制御を CHECK というラベルに移します。
HELP コマンドを実行すると,HELP 機能が起動します。 HELP 機能は,コマンドの形式や説明,パラメータ,修飾子,およびシステム・メッセージを含め,システムの使用に関する情報を表示します。 Topic? というプロンプトに対して,次の指示ができます。
- 知りたいコマンドまたはトピックの名前をタイプします。
- HELP の使用方法についてより詳細な情報が欲しいときは, INSTRUCTIONS とタイプします。
- 知りたいコマンドまたたトピックの名前がはっきり分からない場合は, HINTS とタイプします。
- HELP/MESSAGE ユーティリティについての知りたい場合は, HELP/MESSAGE とタイプします。
- 一番最後に要求したテキストをもう一度見たい場合は,疑問符(?) をタイプします。
- HELP 機能を終了させたい場合は,Return を 1 回または数回押してください。
すべてのトピック名は短縮することができます。一意にトピックを選択できない場合は,あてはまるすべてのトピックが表示されます。
HELP [トピック[サブトピック...]]
トピック[サブトピック...]
ヘルプ・ライブラリの情報が必要なトピック,またはトピックとサブトピックを指定します。
ヘルプ・ライブラリ内の情報は,階層構造になっています。階層構造の各レベルは,次のとおりです。
- なし --- キーワードを指定しない場合には,HELP コマンドの説明,ルート・ライブラリに含まれているトピックのリストが表示されます。リストに含まれる各項目は,階層構造の第 1 レベルのキーワードです。
- トピック名 --- キーワードとしてトピック名を指定した場合は,ルート・ライブラリ,または他の使用可能な省略時のライブラリに含まれているトピックの説明が表示されます。また,このトピックに関する追加情報を要求するためのキーワードも表示されます。
- トピック名とサブトピック--- トピックのあとにサブトピックを指定した場合は,指定したサブトピックの説明が表示されます。
- 上記のいずれかの後の @ ファイル指定 --- 現在のルート・ライブラリと置き換えるために HELP ライブラリを指定した場合は,指定されたトピックまたはサブトピックの説明を,指定されたライブラリから検索します。ファイル指定の形式は,/LIBRARY 修飾子に指定されるファイル指定と同じ形式です。しかし,指定されたライブラリが使用可能な省略時のユーザ定義ライブラリである場合には,ファイル指定は,省略時のライブラリの論理名変換の中で,それぞれ一意に識別できる文字列まで省略できます。
OpenVMS 上で最も簡単な形式で HELP 機能を使用する方法は,ターミナルから HELP コマンドを入力することです。 HELP コマンドを入力すると,HELP 機能はユーザのターミナルにトピックの一覧と Topic? というプロンプトを表示します。あるトピックに関する情報を表示したい場合は, Topic? プロンプトに対してトピック名を入力します。システムは,そのトピックに関する情報を表示します。
トピックにサブトピックがある場合は,サブトピックの一覧と Subtopic? というプロンプトが表示されます。あるサブトピックに関する情報を表示したい場合は, Subtopic? プロンプトに対してサブトピック名を入力します。他のトピックの情報を見たい場合は,Return を押します。 Topic? プロンプトが表示されている時は,他のトピックの情報を表示させることができます。 HELP 機能を終了し DCL レベルに戻るには,Return を押します。
キーワードの代わりにアスタリスク (*) を使用すると, HELP コマンドはアスタリスクを指定したレベルで使用可能な,すべての情報を表示します。たとえば,HELP COPY * と入力すると, COPY 以下のすべてのサブトピックを表示します。
主キーワードのすぐ後に反復記号 (...) を使用すると,指定したトピックとそのトピックのすべてのサブトピックに関する,すべての情報が表示されます。たとえば HELP COPY... と指定すると, COPY というトピックに関する情報と,COPY の下のすべてのサブトピックに関する情報が表示されます。
アスタリスク (*) とパーセント記号 (%) ワイルドカード文字を,キーワードに指定することはできません。
/EXACT
正確に一致する文字列を検索する場合, /PAGE=SAVE および /SEARCH 修飾子とともに使用します。この時,検索文字列は引用符(" ")で囲まなければなりません。/SEARCH 修飾子を指定せずに /EXACT 修飾子を指定した場合は, Find キー(E1) を押して検索文字列を設定すると正確に一致する文字列を検索できます。
/HIGHLIGHT[=キーワード]
/PAGE=SAVE および /SEARCH 修飾子とともに使用して,検索文字列が見つかった時に強調表示する方法を指定します。文字列が見つかると,その行全体が強調表示されます。キーワードには,BOLD,BLINK,REVERSE,UNDERLINE があり,省略時の設定は BOLD です。/INSTRUCTIONS (省略時の設定)
/NOINSTRUCTIONS
(トピックが指定されていない場合) トピックの一覧とともに, HELP コマンドの説明を表示します。省略時の設定では,HELP 機能の説明と形式,およびトピックの一覧が表示されます。 /NOINSTRUCTIONS 修飾子を指定すると,トピックの一覧だけが表示されます。/LIBLIST (省略時の設定)
/NOLIBLIST
使用できるすべてのヘルプ・ライブラリを表示します。/LIBRARY=ファイル指定
/NOLIBRARY
省略時の設定のライブラリ SYS$HELP:HELPLIB.HLB の代わりに,代替のヘルプ・ライブラリを使用することを指定します。ここで指定したヘルプ・ライブラリはメイン (ルート)・ヘルプ・ライブラリとして使用され,省略時のユーザ定義のヘルプ・ライブラリを検索する前に,このライブラリから HELP 情報を検索します。装置とディレクトリの指定を省略すると,省略時の値として SYS$HELP が使用されます。 SYS$HELP は,システム・ヘルプ・ライブラリの位置を示す論理名です。省略時のファイル・タイプは .HLB です。
省略時のヘルプ・ライブラリを検索しないようにするには, /NOLIBRARY 修飾子を指定します。
/MESSAGE
システム・メッセージの説明を表示します。詳細は,HELP/MESSAGE コマンドの説明を参照してください。
/OUTPUT[=ファイル指定]
/NOOUTPUT
コマンドの出力を送る場所を制御します。省略時の設定では,出力は SYS$OUTPUT に送られます。 SYS$OUTPUT は,現在のプロセスの省略時の設定の出力ストリームまたは装置です。/OUTPUT 修飾子で部分ファイル指定を行う (たとえば /OUTPUT=[JONES]) と,省略時のファイル名は HELP,省略時のファイル・タイプは .LIS になります。アスタリスク (*) およびパーセント記号 (%) ワイルドカード文字を使用することはできません。
/NOOUTPUT 修飾子を指定すると,どこにも出力されません。
/PAGE[=キーワード]
/NOPAGE (省略時の設定)
画面での情報の表示を制御します。/PAGE 修飾子とともに次のキーワードを指定することができます。
CLEAR_SCREEN 各ページを表示する前に画面をクリアします。 SCROLL 一行ずつ情報を表示します。 SAVE[= n] 情報の表示を制御することができます。 n は履歴を保持するページ数です。
/PAGE=SAVE 修飾子を指定すると,最大 5 画面(最大 255 カラムまで)分の履歴を保存できます。/PAGE=SAVE 修飾子を使用すると,次のキーを使用して画面を移動することができます。
キー 説明 Up arrow key, Ctrl/B 1 行ずつスクロールアップ Down arrow key 1 行ずつスクロールダウン Left arrow key 1 カラム左シフト Right arrow key 1 カラム右シフト Find (E1) 文字列検索を起動 Insert Here (E2) 半画面右シフト Remove (E3) 半画面左シフト Select (E4) 80/132 カラム切り替え Prev Screen (E5) 前ページに移動 Next Screen (E6), Return, Enter, Space 次ページに移動 F10, Ctrl/Z 終了(ユーティリティにより異なる場合があります) Help (F15) ユーティリティ・ヘルプ・テキストを表示 Do (F16) 最新(現在)画面と(履歴内で)最古画面の入れ替え Ctrl/W 再表示
/PAGE 修飾子と /OUTPUT 修飾子を同時に指定することはできません。
/PROMPT (省略時の設定)
/NOPROMPT
最初の HELP 要求が処理された後,HELP が会話型モードのセッションを開始するかどうかを制御します。/NOPROMPT 修飾子を指定すると,要求した情報が表示された後,DCL コマンド・レベルに戻ります。/PROMPT 修飾子が有効な場合は,特定のヘルプ・トピックまたはサブトピックを指定するよう要求する,プロンプト (4 つのプロンプトのうちいずれか 1 つ) が表示されます。ヘルプ情報の階層構造のレベルにより,異なるプロンプトが表示されます。次のその 4 つのプロンプトを示します。
- Topic? --- ルート・ライブラリはメイン・ライブラリであり,現在,特定のトピックに関する情報を表示するために HELP を調べていないことを示します。
- [ライブラリ指定] Topic? --- ルート・ライブラリは,メイン・ライブラリ以外のライブラリです。現在,特定のトピックに関する情報を表示するために HELP を調べていないことを示します。
- [キーワード] Subtopic? --- ルート・ライブラリがメイン・ライブラリであり,現在,特定のトピック(または)サブトピックに関する情報を表示するために, HELP を調べていることを示します。
- 上記の 2 と 3 の組み合わせ。
これらのプロンプトのいずれか 1 つが表示されたら,次の表のいずれか 1 つの応答を入力します。
応答 現在のプロンプト 動作 キーワード[...] 1,2 使用可能なすべてのライブラリから,指定したキーワードを検索する。 3,4 現在のトピックおよびサブトピックの両方,またはどちらかに関する追加のヘルプ・ライブラリから,指定したキーワードを検索する。 @ファイル指定
キーワード[...]1,2 上記と同じ。ただし @ファイル指定で指定したライブラリが,ルート・ライブラリである点が異なる。指定したライブラリが存在しない場合は, HELPは @ファイル指定を普通のキーワードとして扱う。 ルート・ライブラリで使用できるトピックの一覧を表示する。
3,4 上記と同じ。@ファイル指定を普通のキーワードとして扱う。 ヘルプが存在する現在のトピック(またはサブトピック)のサブトピックのリストを表示する。
[Return] 1 HELP を終了する。 2 ルート・ライブラリをメイン・ライブラリに変更する。 3,4 1 つ上のレベルで,トピックまたはサブトピックを要求するプロンプトを表示する。 [Ctrl/Z] 1,2,3,4 HELP を終了する。
/SEARCH="文字列"
/PAGE=SAVE 修飾子とともに使用し,表示される情報内で検索したい文字列を指定します。文字列中にスペース文字を入れたい場合は,検索文字列を二重引用符で囲まなければなりません。情報が表示されている時に,Find キー(E1) を押して検索文字列を動的に変更することができます。この場合,二重引用符は必要ありません。
/USERLIBRARY=(レベル[,...])
/NOUSERLIBRARY
使用可能なライブラリで情報を検索するレベルを指定します。次のレベルを指定できます。
PROCESS プロセス・レベルで定義したライブラリ GROUP グループ・レベルで定義したライブラリ SYSTEM システム・レベルで定義したライブラリ ALL すべてのライブラリ(省略時の設定) NONE ライブラリなし(/NOUSERLIBRARY 修飾子を指定した場合と同じ)
使用可能なヘルプ・ライブラリは,論理名 HLP$LIBRARY,HLP$LIBRARY_1,HLP$LIBRARY_2... で定義されたライブラリです。各ライブラリは,この順序で検索されます。つまりルート(現在の)ライブラリ,メイン・ライブラリ(ルート・ライブラリと異なる場合),プロセス・レベルで定義されたライブラリ,グループ・レベルで定義されたライブラリ,システム・レベルで定義されたライブラリ,ルート・ライブラリの順序です。検索した結果,指定したトピックを見つけられなかった場合には,ルート・ライブラリがもう一度検索され,コンテキストは,検索が開始されたルート・ライブラリに戻されます。省略時の設定は,/USERLIBRARY=ALL です。検索のためのレベルを 1 つしか指定しない場合は,括弧は省略できます。
/WRAP
/NOWRAP (省略時の設定)
/PAGE=SAVE 修飾子とともに使用し,画面のカラム数を制限し,画面の幅を超える行を改行することを指定します。/NOWRAP 修飾子を指定すると,画面の幅以上に行を続けます。 /PAGE=SAVE 修飾子により提供されるスクロール機能(右および左)を使用すれば,行すべてを読むことができます。
#1 |
---|
$ HELP HELP . . (HELP message text and list of topics) . Topic? |
この例では修飾子やパラメータを指定せずに HELP コマンドを入力しています。ここではルート・ヘルプ・ライブラリ SYS$HELPLIB.HLB で使用できるヘルプ・トピックが表示されます。
Topic? というプロンプトに対して,いずれか 1 つのトピックを入力すると, HELP はそのトピックに関する情報と,サブトピックが存在する場合にはそのリストを表示します。1 つまたは複数のサブトピックが存在する場合は,サブトピックを要求するプロンプトが表示されます。
Topic? ASSIGN ASSIGN . . (HELP message text and subtopics) . ASSIGN Subtopic?
サブトピック名をタイプすると,HELP はそのサブトピックに関する情報を表示します。次の例を参照してください。
ASSIGN Subtopic? Name ASSIGN Name . . (HELP message text and subtopics, if any) . ASSIGN Subtopic?
1 つまたは複数のサブ・サブトピックが存在する場合は, HELP はサブ・サブトピックを要求するプロンプトを表示します。この例のようにサブ・サブトピックが存在しない場合は,現在調べているトピックの,別のサブトピックの入力を要求するプロンプトが表示されます。
疑問符(?) タイプすると,現在のレベルの HELP メッセージとオプションが再表示されます。 Return を押すと,次のいずれかの操作が行われます。
- サブトピック・レベルの場合は,前のヘルプ・レベルに戻る。
- 第 1 レベルの場合は,HELP を終了する。
Ctrl/Z を押すと,どのレベルでも HELP は終了します。
#2 |
---|
$ HELP COPY... |
この HELP コマンドを入力すると, COPY コマンド,および COPY コマンドのパラメータや修飾子の説明が表示されます。反復記号(...)は,トピック・レベルでしか使用できない点に注意してください。サブトピック・レベルで使用することはできません。
#3 |
---|
$ HELP/NOPROMPT ASSIGN/GROUP . . (ASSIGN/GROUP HELP message) . $ $ HELP/NOPROMPT/PAGE EDIT * . . (HELP messages on all first-level EDIT subtopics) . $ |
2 つの HELP コマンドは,特定のトピックに関する情報を要求しています。どちらの場合も,HELP コマンドはユーザが要求したヘルプ・メッセージを表示し,その後,DCL コマンド・レベルに制御を戻し,ドル記号プロンプト($) が表示されます。
前へ 次へ 目次 索引