このドキュメントの目的は、Caché ターミナルの特徴と機能を説明することと、その使用方法に関する基本的な情報を提供することにあります。ここでは、以下のトピックについて説明します。
Caché ターミナルは、Caché アプリケーションとのやり取りを目的として設計されています。Caché ターミナルは、Digital Equipment Corporation の VT320 ターミナルが持つ機能の多くをエミュレートします。また、ANSI 標準のターミナルと、DTM コンソール (入力のみ) をエミュレートできます。
Caché の設計にはモジュール化技法が採用されているため、複数のインスタンスを通じて異なる通信モードを同時に実行できます。さらに、新しい通信モードの追加に際しては、それだけを増分的に追加すればよく、ソフトウェア全体の置換は必要ありません。
Caché では、通信スタックとして Winsock が使用されます。Winsock は、Berkeley Software Distribution (BSD) で幅広く使用されている "ソケット" パラダイムをベースとした、Microsoft Windows 用のネットワーク・プログラミング・インタフェースです。ホスト・エントリの指定には、ローカル・ファイル、IP アドレス、または一般的なホスト名 (Winsock にネーム・サーバへのアクセスが実装されている場合) のいずれかが使用されます。ホスト名の後には、標準以外のポート番号を指定するオプションの #nnn が続く場合があります。
この通信モードから報告されるエラーには、Winsock エラー・コードの名前が使用されます。例えば、"WSAECONNREFUSED" は、接続が拒否されたことを意味します。
Note:
入力バッファのサイズが大きい場合は、Ctrl-C や Ctrl-S などの入力フローの停止を行うキー操作に遅延が生じる場合があります。この遅延はプロセッサと接続速度にも依存します。キーストロークに対応するための専用の処理が、ホスト入力よりも前に実行されています。
メイン・ウィンドウのサイズを変更すると、最下部に最新行 (ホストからの) が表示された状態が維持されるように調整されます。ユーザはスクロールバックして、前の行に戻ることができます。アクティブなテキストが到着したときは、Caché ターミナルによって、ウィンドウが新しく到着したテキストに移動されます。このバージョンでは、24 x 80 構成でおよそ 375 行のスクロールバック・バッファがサポートされます。
Caché ターミナルは Windows アプリケーションとして、そのウィンドウ上部に標準的なメニュー項目が配置されています。ここでは、各メニュー項目とそのサブメニューについて説明します。
[ファイル] コマンドは、ログ・ファイルおよびスクリプト・ファイルを制御するときと、テキスト・ファイルを印刷するときに使用します。
このコマンドは、セッションのロギングを開始します。ロギング・データを収集して記録するファイルの名前を指定します。接続からの出力のみがログに記録されます (現行のラップ・モードには関係ありません)。アクティブなログ・ファイルがある場合は、アクティブなファイルへのロギングを停止するかどうかを尋ねられます。
既定では、ログ・ファイルは新規作成されず、追加記入されます。ユーザは、[上書き] ボタンをクリックすることで、ログ・ファイルの上書きを選択できます。ログ・ファイルの既定の名前と場所は、次のレジストリ・キーから取得されます。
HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion Explorer ComDlg32 OpenSaveMRU <xxx>
このコマンドは、スクリプト・ファイルの実行を開始します。スクリプト・ファイルが実行中の場合は、このコマンドを使用してスクリプト・ファイルを停止します。スクリプト・ファイルの詳細は、"
スクリプト・コマンド" の説明を参照してください。
このコマンドは、作業ディレクトリからログ・ファイルを印刷します。また、任意の ASCII ファイルの印刷にも使用します。改ページ文字を適切に処理する以外は、特別な操作は必要ありません。印刷中は、マウスおよびキーボード入力がメイン・ウィンドウからロック・アウトされ、キャンセル用のダイアログ・ボックスが表示されます。印刷はドラフト・モードで実行されます。
このコマンドは、Caché ターミナル用のプリンタの選択および設定に使用できます。
このコマンドは、Caché ターミナル画面の内容を、既定のプリンタに送信します。
このコマンドを使用すると、Caché ターミナルの現行のコピーが終了され、すべてのオープン・ファイルがクローズされます。この操作は Alt-F4 でも実行できます。Caché ターミナルの現行のコピーが "クローン" の場合は、通信チャネルがクローズされたときに自動的に終了します。
[編集] コマンドでは、クリップボードの制御とウィンドウ表示の再初期化に加えて、個々のユーザによってカスタマイズされた項目の選択がサポートされます。
このコマンドは、標準的な Windows パラダイムに従って、選択されたテキストを Windows クリップボードにコピーします。
コピーされたテキストに行の境界が含まれる場合は、キャリッジ・リターンと改行としてクリップボードに保存されます。改行の貼り付けは、不要な場合もあります。[ユーザ設定の編集] コマンドを参照してください。
ホストに処理中のマウス・リクエストがあるときに、切り取りおよび貼り付けをローカルで実行したい場合は、対象領域を選択しながら Ctrl キーを押すと、マウスのアクションがホストに報告されなくなります。
このコマンドは、現在のテキストをクリップボードからホストに送信します。このテキストは、エコーが無効にされていない限り、ターミナル・ウィンドウに表示されます。マウスを右クリックすると、貼り付け用の次のオプションを持つメニューが表示されます。
Caché ターミナルのデータ貼り付け速度が、ホストのデータ受信速度よりも速い場合がしばしばあります。貼り付け速度を制御するための設定は、"
ユーザ設定の編集" を参照してください。また、貼り付けコマンドの実行時に、改行を破棄することもできます。
このコマンドを使用すると、現在のページ上のマージン、スクロール領域、およびその他の処理がリセットされ、ウィンドウが再描画されます。通常、この操作が必要になることはありません。
このコマンドは、すべてのデータを消去し、スクロールバック領域を 0 に戻すことで、Caché ターミナル・ウィンドウを再初期化します。
このコマンドを使用して、各自のモニタと解像度に最適なフォント・スタイルを選択できます。Caché ターミナルを異なるサイズ画面に切り替えると、事前選択されているフォントが使用されます。
Note:
画面の枠を超えてウィンドウが拡張するようなフォント・サイズに設定した場合は、画面とフォントの両方が使用可能な最大サイズに自動調整されます。
このコマンドでは、Caché ターミナルの既定の前景色と背景色を選択できます。[適用] をクリックすると、現在のコピーにのみ変更が適用されます。[保存] をクリックすると現在のコピーは変更されず、Caché ターミナルの新規インスタンス用に色情報が保存されます。
色調整では、ANSI 名で事前指定された色から、ディスプレイ・ボードが提供する任意の色に変更できます。これらの色は、前景色および背景色とともに保存されます。既定色を選択する場合は、[既定] ボタンをクリックします。
ユーザ・キーは、Alt-Shift-F1 から Alt-Shift-F10 までの間で選択します。[OK] と [保存] を続けて選択すると、現在のインスタンスが更新されると同時に、以降の Caché ターミナル・インスタンス用にキー・シーケンスが保存されます。
表示不可能な文字を含める場合は、<
nnn> を使用します。
nnn はその文字と同等の 10 進数値です。また、<CR>、<F10>、<F7>、<DO>、<TAB>、<LF>、<ESC>、<CSI>、<NL> (= <CR><LF>) の 1 つを使用できます。
さらに、<P1>、<P2> などは、コマンド行パラメータを指定します。
[ユーザ設定] は、Caché ターミナルによって使用される各種パラメータの現行設定値と初期値の両方を制御します。シンプルな設定を以下に示します。
一部のシステムでは、そのデータ受信速度が、Caché ターミナルのデータ送信速度よりも遅い場合があります。その場合は、[Paste Burst Size] で一度に送信するデータ量をバイト数で指定し、[Paste Pause Time] で送信間の一時停止時間をミリ秒単位で指定します。[Paste Burst Size] または [Paste Pause Time] の値が 1 未満の場合は、クリップボード全体が一度に送信されます。
ウィンドウ・サイズを選択できます。列の最大数は 132 で、行の最大数は 64 です。行と列の両方に対して、一般的に使用するサイズをすばやく選択するためのボタンが用意されています。
ウィンドウ・サイズを変更すると、使用可能なスクロールバック行および "ページ" の数がただちに更新されます。[適用] を選択すると現在のインスタンスが更新され、[保存] を選択すると以降の Caché ターミナル・インスタンス用に値が保存されます。
ウィンドウを変更すると、現在の表示ページとすべてのバック・ページにある現行のすべてのデータが消去されます。さらには、新しいサイズ用に選択されているフォントがある場合は、そのフォントも選択されます。
[接続] コマンドは、Telnet モジュールの操作をサポートします。
Note:
ターミナルが
/console= 制御引数を使用して起動された場合は、このメニュー項目は表示されません。
このコマンドは、Caché ターミナルからリモート・ホストへの接続を許可します。この項目を選択すると、目的のホストのアドレスを取得するためのダイアログ・ボックスが表示されます。
このコマンドは、通信チャネル経由でブレークを送信します。
ターミナルがホストに接続済みの場合は、この項目を選択すると、ホストへのターミナル接続が切断されます。リモート・ホストへの接続が試行中で未完了の場合は、試行中の接続が切断されます。
[切断] メニュー項目の下に、便宜上の目的で既知のホストの数値付き一覧が表示されます。
[ヘルプ] では、(このヘルプを含む) 様々なタイプのヘルプを選択できます。
このメニュー項目を選択すると、このマテリアルが表示されます。
Caché ターミナルの現行のコピーのバージョン番号が表示されます。
スクリプト・ファイルを使用すると、単調な入力作業が不要になり便利です。Caché ターミナルの重要な制御は、スクリプトによって実行できます。
通常、スクリプト・ファイル (既定の拡張子は .SCR) は作業ディレクトリにありますが、任意の場所に配置可能です。
スクリプトは、コマンド行の第一引数として起動されるか、または [ファイル] メニューの [スクリプト...] コマンド (ホットキーの Alt-S でも選択可能) から起動されます。Windows の標準的なファイル検索ボックスが表示され、そこでスクリプトを選択します。
コマンド行の引数としてスクリプトが指定されている場合は、コマンド・モードをロックするスイッチがなければスクリプトが直ちに開始され、スイッチがあればホスト接続が完了するまで開始が延期されます。
Note:
通信オプションをシングル・モードに編集することは、Caché ターミナルをシングル・オプションにロックすることと同じです。したがって、スクリプト・ファイルの起動はホスト接続の完了後まで延期されます。
スクリプトを停止するには、[ファイル] メニューの [スクリプト...] コマンドを再度選択します。現行のスクリプトを停止するかどうかを尋ねられます。[はい] を選択して、新規スクリプトの選択をキャンセルします。
スクリプトは 1 行指向で、行継続の表記規則がありません。各行は他の行から完全に分離されています。セミコロンで始まる行はコメントとみなされます。空白行は、読みやすさを向上させるために自由に挿入することができます。通常、無効な行は無視されます。スクリプト・コマンドは、スペースおよび/またはタブの後に続けます。
スクリプト・コマンドを含む行の一般的な形式を、次に示します。
<ScriptCommand>: <ScriptArguments>
ラベルは、制御の移動箇所を定義するために使用されます。ラベルはドル記号 ($) で始まり、大文字と小文字が区別されません。ラベルには、スペースを埋め込むことができます。ラベルは、1 行に単独で記述する必要があります。
Note:
<ScriptCommand> が 2 つ以上の単語で構成されている場合は、コマンドの各語間を 1 つのスペースで区切る必要があります。
<ScriptCommand> の後にコロンを使用する場合は、コマンドの最後の語の直後に記述する必要があります。
次の表は、使用可能なスクリプト・コマンドの一覧です。
スクリプト・コマンドは、そのコマンドの機能に応じて、文字列または数値を引数として受け取ります。引数の前後のスペースおよびタブは、すべて無視されます。
数値引数は、すべて整数値です。必須の数値引数が指定されていない場合は、既定で 0 になります。また、OFF は 0 と同等で、ON は 1 と同等です。
文字列は、コマンドの後に続く行上の個々のデータを連結したものにすぎません (先頭と末尾の空白は除く)。引用符は必要ありません。また、次のコマンド行を使用することで、パラメータ置換が実行されます。
<P
n> が、
n 番目のコマンド行パラメータに置換されます。
操作を簡略化するために、特定の ASCII 文字には、この後の表に示す同等のショートカット表記が用意されています。
Note:
NUL (000) 以外のすべての ASCII (拡張) 文字は、<
ddd> によって生成できます。
ddd はその文字を表す 10 進数値です。
このセクションでは、個々のスクリプト・コマンドの機能とその使用方法について説明します。
このコマンドは、ブレークをサポートする通信ノードに "ブレーク" を送信します。それ以外の場合は、"空命令" として動作します。引数は取りません。
call script コマンドは、スクリプトの実行を開始します。このコマンドを実行したときにスクリプトが実行中の場合は、実行中のスクリプトを終了してから、新しいスクリプトが開始されます。
call scriptlogin fred <p3>
このコマンド例は、現行のスクリプトを停止し (スクリプトが実行中の場合)、
login.scr という名前の別のスクリプトを開始します。login の第 1 パラメータは "fred" で、第 2 パラメータは現行のスクリプト・ファイル (呼び出しを行っているスクリプト・ファイル) の第 3 パラメータと同じになります。既定の拡張子は ".SCR" と想定されます。最初に、現行の作業ディレクトリで
login.scr のインスタンスが検索されます。
case match コマンドは、wait for コマンドでの大文字/小文字の照合を有効化または無効化します。
このコマンド例は、個々の文字の大文字/小文字が異なっていても、文字列が一致しているとみなされます。このスイッチの既定は
on です。
このコマンドは、現在のオープン・ログ・ファイルをクローズします。オープンされているログ・ファイルがない場合は、このコマンドは何も影響しません。
logfile:mydirect.log send:dir *.*/FULL<CR> wait for:<NL>$ closelog
このコマンドは、リモート・ホストへの接続を開始するためのダイアログ・ボックスを開きます。
debug コマンドは、無効なスクリプト・コマンドの特定に役立ちます。通常、Caché ターミナルは無効なスクリプト・コマンドを無視します。デバッグ・モードを有効にすると、オペレータの注意を喚起するメッセージ・ボックスに、無効なコマンドの最初の部分が表示されます。
Caché ターミナルがホストに接続されている場合、このコマンドは [接続] メニューの [ホスト] の [切断] オプションと同等です。未接続の場合は、何の動作もしません。
display コマンドは、データを画面に出力します。通信デバイスに、データは送信されません。
display:<CSI>H<CSI>J<LF>Here are the choices for today:
このコマンド例を実行すると、カーソルがホーム位置に戻され、ウィンドウがクリアされます。次に、1 行進めて "Here are the choices for today:" というテキストが書き込まれ、テキストの末尾にカーソルが置かれます。
echo コマンドは、ウィンドウおよびログ・ファイルへの出力の表示を有効化または無効化します。このコマンドは、作業の実行時に、ウィンドウやログ・ファイルに出力を表示したくない場合に便利です。
echo:off on error:$Login Failed timer:50 wait for:Name:send:<p1><CR> wait for:Password:send:<p2><CR> wait for:<NL>$ echo:on Notify:Login is complete display:<CSI>H<CSI>J send:<CR> goto $Process
$Login Failed echo:on notify:Login failed. exit
$Process ;processing begins
このコマンド例は、最初の 2 つのスクリプト・パラメータで指定された名前とパスワードを使用するログイン・シーケンスを非表示にします。ログインに成功すると、指定されたラベルの箇所で処理が開始されます。失敗の場合は、ログインに失敗したことを示すダイアログ・ボックスが表示され、ユーザが [OK] をクリックすると終了されます。
このコマンドは、Windows プログラムを起動し、そのウィンドウに SHOW 属性を設定します。
execute:notepad.exe myfile.not
このコマンド例は、Windows の
メモ帳プログラムを起動し、アプリケーション内でファイル
myfile.not をオープンします。次のような使用方法にも注目してください。
logfile:mydat.lst echo:off send:dir *.dat/full wait for:<NL>$ closelog echo:on execute:notepad mydat.lst
Note:
プログラムが実際に開始されたかどうかを確認するテストは実行されず、その完了も待機されません。
exit コマンドは、スクリプトを終了するときに使用します。通常、スクリプトは "最下行まで実行されると" 終了しますが、特定のイベント (ログインなど) が生じないときに終了させたい場合があります。
on error:$byebye timer:40 wait for:event:goto:$Got event
$byebye:notify:Did not find event prompt, exiting script exit
$Got event:timer:0 ; more commands
goto コマンドは、制御をスクリプト・ファイル内の別の箇所に移すときに使用します。このコマンドは、ループ処理のコントロール・フローの管理や、タイムアウト分岐への対応に使用すると便利です。
on error:$Not There timer:30 wait for:abc<CR> goto:$Got It
$Not There:;failed to see it, send Ctrl+C send:<3> goto:$bad
$Got It:;turn timer off because we got abc<CR> timer: 0
;more commands ...
if empty コマンドを使用すると、最後の
test コマンドが空文字列を検出した場合に、指定したラベルに分岐させることができます。
test:<p1> if empty:$No First Arg
最初のコマンドは、コマンド行で指定された第 1 パラメータが見つかるかどうか、つまり空でないかどうかを検証します。2 番目のコマンドは、それが見つからない場合に、ラベル "$No First Arg" に分岐させます。
このコマンドは、"キー" シーケンスの時間計測を開始するときに使用します。このコマンドは、1 つの数値引数を取ります。引数が 0 の場合は、「ENTER」と入力されたときに、統計が蓄積されます。それ以外の場合は、F10 が押されたときに、統計が蓄積されます。
このコマンドは、時間計測がアクティブな場合に、時間計測を停止し統計を蓄積します。
key_starttime:0 wait for:<esc>[14;22H key_stoptime
key_timer コマンドは、キーの時間計測情報のデータ収集を開始または停止します。代わりに、特殊キーの Alt-Shift-T を使用して、キー・タイマーを開始または停止することもできます。
key_timer:on ; rest of your script commands key_timer:off
ファイル
KEYTIMER.LOG がシステム・マネージャ・ディレクトリに作成され、キーの時間計測のヒストグラムが記録されます。時間計測シーケンスは現行の統計ファイルに追加されるのではなく上書きされるため、使用可能な時間計測シーケンスは 1 つのみです。
Note:
時間計測をスクリプト・ファイルから排他的に起動する場合は、<13>、
<27>[21- の代わりに、それぞれ <CR>、<F10> を使用する必要があります。
このコマンドは、指定されたログ・ファイルで受信データの収集を開始します。アクティブなログ・ファイルがある場合は、適切に終了されます。ロギングの停止には、
closelog コマンドを使用します。
logfile:mydirect.log send:dir *.*/FULL<CR> wait for:<NL>$ closelog
既定のディレクトリは、システム・マネージャ・ディレクトリです。
通常、ログ・ファイルは追加書き込み方式でオープンされます。つまり、ログ・ファイルが既存する場合は、新規データがその末尾に追加されます。
multiwait for コマンドは、スクリプト・ファイルとホストを同期化します。ホストから受信したデータが、引数に指定されいくつかの文字列の 1 つに一致するまで、処理が中断されます。
multiwait for:=USER>=***ERROR,=DONE
このコマンド例では、指定された 3 つの文字列の中の 1 つが到着するまで、スクリプト・ファイルが待機することになります (永久に待機する可能性もあります)。引数の最初の非空白文字 (この例では等号記号) は、引数を複数の部分文字列に分割する
区切り文字 としての役割を持ちます。したがって、このコマンド例は、
USER>、
***ERROR、または
DONE の中のいずれかが到着するまで、スクリプトを待機させます。
大文字/小文字の完全一致を有効または無効にする場合は、
case match コマンドを参照してください。
case match コマンドの引数には 1 つの部分文字列しか指定できないため、次の 2 つのスクリプト・コマンドの機能は同じになります。
multiwait for:=USER> wait for:USER>
notify コマンドは、ユーザに Windows メッセージ・ボックスを表示し、そこで [OK] ボタンが押されてから、操作を続行します。このコマンドは、ユーザに重要なイベントを通知するときに使用できます。
notify:Ready to send commands... send:copy *.lst backup:*.lst<CR> send:delete *.lst;*
Note:
このメッセージ・ボックスは "モーダル" です。つまり、他のユーザが割り込むことはできません。
on error コマンドは、タイマーの有効時間が経過した場合 (主に、テキストの到着を待っているとき) に実行するスクリプト・コマンドのラベルを指定する方法を提供します。
このコマンドは、実行中のスクリプトを一時停止するときに使用します。停止時間は 10 分の 1 秒単位で指定します。
このコマンド例では、スクリプトの実行が 3 秒間停止されます。
pause に 0 を指定した場合は永久停止となり、スクリプト処理の再開には Alt-P が必要になります。
send コマンドは、現在接続中のホストに送信する入力データをシミュレートします。
send:1<cr>2<cr>A1234<F10><32>
スペースはコマンド・インタープリタによって削除されるため、<32> は先頭または末尾のスペースを送信する唯一の方法であることに注意してください。
subroutine は、スクリプト内で同じコマンドを何度も使用する場合に役立ちます。このコマンドは、記憶域を節約すると同時に、異なる多くのラベルを保持する必要性を減じます。このコマンドは
return コマンドと共に使用します。
subroutine:$Send It Again ; some other processing exit
$Send It Again:send:<F7>Q on error:$skip timer:30 wait for:[22;5H timer:0 return
$skip:send:<3> ; note on error still set to $skip timer:30 wait for:function:timer:0 send:<CR> exit
Note:
サブルーチン・スタックは 16 アドレスを保持します。サブルーチン呼び出しのネストがそれよりも深くなると、スクリプトは失敗します。
このコマンドは、終了して Windows に戻るよう Caché ターミナルに命令します。すべてのオープン・ファイルがクローズされ、不要なウィンドウが消去され、接続がクローズされます。
test コマンドは、パラメータまたはウィンドウ・プロパティが空でないかどうかを調べるのに使用します。このコマンドは、
if empty コマンドと連携して使用します。
timer コマンドは、
wait for コマンドと連携して使用されるタイマーを設定します。対象のテキストが到着しない場合、またはそのテキストが時間計測や大文字/小文字の不一致が原因で見つからない場合は、
timer が
wait for に割り込みスクリプトの実行を継続する唯一の方法です。
引数の数値は待機時間で、10 分の 1 秒単位で指定します。このコマンド例では、タイマーに 10 秒が設定されています。
goto コマンドの使用例も参照してください。
title コマンドは、ウィンドウ・タイトルを必要な任意の文字列に変更するときに使用します。
このコマンドは、拡張エミュレータ・コマンドによってリモートに実行することもできます。
wait for コマンドは、スクリプト・ファイルとホストから受信したデータを同期化します。
このコマンド例では、"USER>" と完全に一致する文字列が到着するまで、スクリプト・ファイルが待機することになります (永久に待機する可能性もあります)。この特別なシーケンスは、USER ネームスペースにあるときの Caché ターミナルからの既定のプロンプトです。したがって、このコマンド例は、Caché ターミナルが次の入力を受け入れ可能になるまで待機する場合に使用できます。
大文字/小文字の完全一致を有効または無効にする場合は、
case match コマンドを参照してください。
Caché ターミナルでは、拡張キーボードに対して、次に示すアプリケーション・キーボード・モードがサポートされます。
拡張キーボードのキーパッド部分は、次のようにマップされます。
Pause キーは、1つの XON/XOFF トグル・キーとして機能します。
Caché ターミナルの操作性を向上させるために、いくつかの "ホット・キー" が定義されています。これらのホット・キーを使用すると、通常はメニューからアクセスする機能にすばやくアクセスできます。これらのホット・キーの説明は、対応するメニュー・コマンドの説明を参照してください。
DDE は Dynamic Data Exchange の頭字語で、Macintosh、Windows、およびその他のオペレーティング・システムに組み込まれているプロセス間通信 (IPC) のことをいいます。DDE によって、実行中の 2 つのアプリケーションが同じデータを共有できるようになります。例えば、DDE によって、スプレッド・シートのグラフを、ワード・プロセッサで作成したドキュメントに挿入可能になります。スプレッド・シートのデータが変更されると、ドキュメントのグラフもそれに従って変更されます。DDE メカニズムは現在でも多くのアプリケーションによって使用されていますが、共有データをより高度に制御できる OLE (Object Linking and Embedding、Microsoft 社によって開発された複合ドキュメント規格) によって取って代わられつつあります。
Caché ターミナルは DDE (Dynamic Data Exchange) リンクをサポートすることで、他のアプリケーションがターミナルの通信機能を利用してリモート・ホストとやり取りすることを実現しています。
Caché ターミナルでは、以下の 3 つの (非システム) トピックがサポートされます。各トピックの説明は、ユーザに DDE の使用方法に関する知識があることを前提としています。トピックは以下の通りです。
-
Layout : ステータス情報の取得に使用されます。例えば、行や列のサイズ、接続があるかどうかなどが取得されます。
-
Screen : ターミナル画面からのデータ収集に使用されます。
-
Message : ターミナル画面またはホストへのデータの送信に使用されます。
Note:
Windows タスクには、DDE の使用時に Caché ターミナルの複数インスタンスを区別する方法がありません。DDE の使用が最も役立つのは、実行されている Caché ターミナルが 1 つのときです。
Caché ターミナルは、Layout トピックを通じて、静的情報とみなされるものに対する DDE リクエストをサポートします。
Caché ターミナルは、Screen トピックを通じて、画面データに対する DDE リクエストをサポートします。現在、対象とする画面行部分の選択には、1 つの POKE コマンドを使用できます。
Note:
アイテム "Piece" は、"R
nnC
mmL
pp" という形式の文字列を使用して POKE 実行できます。
nn は取得対象の画面行、
mm は対象列、
nn は対象文字 (最大数) を表します。画面の左上隅は、行 1、列 1 になります。
Caché ターミナルは、Message トピックを通じて、データ通信に対する DDE リクエストをサポートします。これらは DDE POKE コマンドによって実装されています。
このセクションでは、ローカル・マシン上で実行され、Windows 2000 の
バッチ 機能を介して起動されるスクリプト・セッションの例を紹介します。
Note:
Microsoft Windows ではバージョンによって、キャレット文字 (^) とパーセント文字 (%) の解釈が異なります。また、ユーザによって
バッチ ウィンドウ (DOS プロンプト) に入力されたか、バッチ・スクリプトの入力として読み取られたかによっても、テキストの特定行の解釈が異なります。
次の行を記述するのに必要な入力シーケンスの相違を、この後の表に示します。
cterm /console=cn_ap:cache[USER] ^%D
ターミナル・アプリケーションは、Windows 2000 プログラムの
cmd.exe を使用する
DOS コマンド行から起動できます。コマンド行の一般的な形式は次の通りです。
cterm <Arg1> <Arg2> ...<ArgN> <ScriptFilePath>
ターミナル・セッションの開始環境の制御に使用可能な引数がいくつかあります。引数の一部は、内部使用および/またはデバッグ用に予約されています。それらは、ここでは説明されません。一般的な起動時に役立つ引数には、以下のものがあります。
この引数は必須です。この引数では、接続のタイプと、接続に必要なその他のデータの両方を指定します。重要な接続タイプは、TELNET 接続とローカル・コンソール・アプリケーションの 2 つです。
/console=cn_iptcp:<HostAddr>
この引数は、ターミナルが TELNET 接続を介してやり取りするターゲット・システムを指定します。より一般的な使用法の 1 つは、ローカル・マシンでのスクリプトの実行です。この場合は、
HostAddr にローカル・マシンの IP アドレスとポートを指定します。以下はその例です。
cterm /console=cn_iptcp:127.0.0.1[23]
/console=cn_ap:<Configuration>[<NameSpace>]:<Routine>
アプリケーション用の構成を指定することで、ターミナルでユーザ・アプリケーションを実行できます。Windows 2000 システムによって実行されるバッチ・ファイル (.BAT) に、次の行が記述されているとします。
cterm /console=cn_ap:cache[USER]:^^%%D
この行はターミナル・セッション、および必要に応じて USER ネームスペースの
cache 構成にある Caché バージョンを起動します。起動に成功すると、ターミナルによって、現在の日付を出力する ^%D ルーチンが実行されます。^%D が値を返したら、セッションはクローズされます。
構成は、システム・マネージャ・ディレクトリにある Caché パラメータ・ファイルの接尾語なしの名前に該当します。既定のパラメータ・ファイルは
cache.cpf です。
ネームスペース名はオプションです。ネームスペース名を指定しない場合は、既定のネームスペース (%SYS) が使用されます。
cn_ap の後のコロンとネームスペース名を囲む角括弧は必須です。ルーチン名を指定する場合は
] の後のコロンが必須で、指定しない場合は不要です。
この引数はターミナル
画面 の初期サイズを、行数と列数によって指定します。
Rows および
Cols は、ともに符号なし整数にする必要があります。両者の間にある
x は必須です。この制御引数内に、スペースは許可されません。
この引数はディスプレイ・デバイス・ウィンドウ内のターミナル
画面 の起点を、デバイス・ピクセル値によって指定します。
X および
Y は、ともに符号なし整数にする必要があります。値ペアを囲む括弧と区切り文字のコンマは必須です。この制御引数内に、スペースは許可されません。
Note:
ディスプレイ・デバイスのサイズよりも大きな値を
X および
Y に指定することで、表示領域を超えるウィンドウを配置できます。
この引数はディスプレイ・デバイス・ウィンドウ内のターミナル
画面 の起点を、表示領域におけるパーセント値によって指定します。
Xpct および
Ypct は、ともに符号なし整数にする必要があります。値ペアを囲む括弧と区切り文字のコンマは必須です。この制御引数内に、スペースは許可されません。
つまり、ディスプレイ・デバイスの左上隅を越える位置、またはディスプレイ・デバイスの縦横 40% を超える位置に、ウィンドウ起点を指定することは許可されません。
スクリプト 1 - プロセス情報の取得 (バッチ)
ここでは、基本的なデバッグ・ルーチンの ^%STACK を使用して、現在のユーザおよびターミナル・プロセスに関する情報を表示する例を紹介します。この例では、スクリプト・コマンドの格納場所が
C:\TestScript.scr で、ユーザが DOS コマンド・ウィンドウに入力して実行することを想定しています。
C:\CacheSys\Bin\cterm.exe /console=cn_iptcp:127.0.0.1[23] C:\TestScript.scr
;;;
;;; Script for Cache Terminal Example
;;;
; initialization
; turn match off to make comparisons more lenient
case match: off
; wait for the terminal to initialize
; and ask for our identification
echo: off
wait for:Username
send: SYS<CR>
wait for:Password
send: XXX<CR>
title: Terminal Example
echo: on
; log everything in a log
logfile: C:\TermExample.log
; wait a second
pause:10
; display a header to let the user know we are ready
; you need <CR><LF> because "display" does not
; have a prompt to advance to another line
display:<CR><LF>
display:------------------------------<CR><LF>
display:<<< Cache Terminal Example >>><CR><LF>
display:------------------------------<CR><LF>
; wait a second
pause:10
; switch to the USER namespace
send: znspace "USER"<CR>
wait for:USER>
; display some basic information about the system
; Use the debugging routine to do so
send: Do ^%STACK<CR>
wait for: action:
; have it outline our options
send: ?<CR>
wait for: action:
; wait 5 seconds for user to absorb
pause: 50
; ask for the basic process info
send: *s
pause: 50
send: <CR>
wait for: action:
; wait another 10 seconds
pause: 100
; finish the session
send: <CR>
; close the log file
closelog
; finished
terminate
例 2 - プロセス情報の取得 (インタラクティブ)
前の例に示したルーチンの ^%STACK は、Windows 2000 DOS コマンドを介してターミナル・セッションで起動することもできます。
C:\CacheSys\Bin\cterm.exe /console=cn_ap:cache[USER]:^^%STACK
この例では、ターミナルのインスタンスを起動して、それをローカル・ホスト上の TELNET ポートに手動で接続し、コンソール・セッションを有効化します。この例は、既定のユーザ ID とパスワードを使用できることを前提にしています。
DOS ウィンドウからターミナルを起動します (Windows 2000 の場合)。
C:\CacheSys\Bin\cterm.exe
-
ウィンドウ・メニュー・バーで [接続]、[ホスト] の順に選択します。
-
表示されるダイアログ・ボックスで、[リモート・システム: アドレス] に
127.0.0.1 を、[ポート番号] に
23 を入力します。[OK] をクリックします。ターミナル・アプリケーションが TELNET ポートを介してローカル・ホストに接続しようとします。
-
-
すべての手順が問題なく終わると、
%SYS> プロンプトが表示されます。これは、接続が完了し、%SYS ネームスペースにあることを意味します。例 2 と同じ操作を実行するには、最初にプロンプトへの応答として次のコマンドを発行します。
次に、表示アクションのリクエストに対して、
*S を使用して応答します。^%STACK ルーチンを終了するには、プロンプトへの応答として Enter を押します。
セッションを終了する場合は、[接続] メニューの [切断] を選択します。ターミナルの現在のインスタンスを終了する場合は、ウィンドウの [クローズ] ボックスを選択します。