文:装置からファイルを切断します。
形式
CLOSE([UNIT=]io-unit[,STATUS|DISPOSE|DISP=p][,ERR=label][,IOSTAT=i-var])
io-unit
(入力) 外部装置指定子。
p
(入力) 閉じた後のファイルの状態を指定するスカラ基本文字式。これは以下のいずれかの値を持ちます。
装置を閉じた後もファイルを残します。
装置を閉じた後にファイルを削除します (OPEN(READONLY) が有効になっていない場合)。
ファイルをライン・プリンタ・スプーラに提出し,残します (順編成ファイルでのみ使用できます)。
ファイルをライン・プリンタ・スプーラに提出し,削除します。
プロセスをフォークしてファイルを実行します。
プロセスをフォークしてファイルを実行し,フォーク完了後にファイルを削除します。
基本設定は,スクラッチ・ファイルと QuickWin アプリケーションでは 'DELETE' です。それ以外のすべてのファイルでの基本設定は 'KEEP' です。
ファイル名なしで開かれたファイルは,スクラッチ・ファイルと呼ばれます。スクラッチ・ファイルは,一時的なもので,通常のプログラムの終了で常に削除されます。スクラッチ・ファイルで STATUS='KEEP' を指定すると実行時エラーが発生します。
QuickWin アプリケーションでは,STATUS='KEEP' は装置が閉じられた後でも画面上に子ウィンドウを残したままにします。基本状態は 'DELETE' です。これは,画面から子ウィンドウを削除します。
label
エラーが発生した場合に制御を受け取る飛び先文の文番号。
i-var
(出力) エラーが発生した場合には正の整数,エラーが発生しなかった場合にはゼロとして定義されるスカラ整数変数。
規則と振る舞い
CLOSE 文の指定子は任意の順序で指定することができます。I/O 装置は必ず指定しなくてはなりませんが,装置指定子が I/O 制御並びの最初の項目である場合,UNIT= キーワードは省略可能です。
CLOSE 文で指定された状態は,OPEN 文で指定された状態よりも優先されますが,スクラッチ・ファイルとして開かれたファイルは保存,印字,または提出ができず,読み取り専用探査で開かれたファイルは削除できません。
開かれていない装置に対して CLOSE 文が指定された場合,CLOSE 文は効果を持ちません。
開いたファイルを明示的に閉じる必要はありません。通常のプログラムの終了で,基本状態に従って各ファイルが閉じられます。CLOSE 文を開いたファイルと同じプログラム単位で呼び出す必要はありません。
装置番号 0 を閉じると,自動的に装置番号 0 がキーボードと画面に再接続されます。装置番号 5 と 6 を閉じると,自動的に各装置番号がそれぞれキーボードと画面に再接続されます。アスタリスク (*) の装置を閉じると,コンパイル時にエラーが発生します。QuickWin では,基本ウィンドウを閉じるために装置番号 0,5,または 6 で CLOSE を使用します。これらの装置すべてがコンソールから切り離されている (明示的な OPEN によって) 場合,コンソールとの接続が再確立される前に,これらの装置の 1 つを閉じなければなりません。これにより,基本ウィンドウを閉じるために再接続された装置を閉じることができます。
CLOSE のパラメタが関数を呼び出す式である場合,その関数は I/O 操作または EOF 組込み関数の実行を引き起こしてはなりません。これは,結果が予測不可能になるためです。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
例
! ファイルを閉じて削除します。 CLOSE (7, STATUS = 'DELETE')
次の文を考えます。
CLOSE (UNIT=J, STATUS='DELETE', ERR=99)
この文は,装置 J に接続されているファイルを閉じ,削除します。エラーが発生すると,制御は 99 という文番号のついた文に移されます。