アップルマッシュ
投稿者: Bill Martens 日付: 1978年8月1日 いいね0件 閲覧 数459件

マイク・シング
前回の記事では、ファイルの種類(シーケンシャルファイルとランダムファイル)と、PERSCIフロッピーディスクドライブに関する一般的な情報と数値について説明しました。今回は、フロッピーディスクとの間でデータのやり取りに必要な実際のコマンドをいくつか見ていきたいと思います。
ファイルに書き込む前に、「開く」という処理が必要です。これは、プログラムに対して、名前や住所といった関連データが利用可能になり、ファイルに付けた名前で参照できるようになることを定義します。ファイルにアクセス(読み取りまたは書き込み)したい場合は、OPEN AFILE と指定する必要があります。(AFILE は、私が例として付けたファイル名です。)
システムにこれまで存在しなかった全く新しいファイルを書き込みたい場合はどうすればよいでしょうか? FILE ステートメントを使います。FILE BFILE は BFILE というファイルを開き、シーケンシャルデータを書き込めるようにします。
FILE BFILE(130) は、BFILE という、これも以前に存在していなかったファイルを開きます。ただし、書き込む各レコードの最大サイズが130バイトに制限される点が異なります。ランダムファイルを扱う場合は、必ず FILE BFILE(130) 形式を使用してください。
個人的には、ランダムファイル形式のみを使用しています。ファイル処理の柔軟性が高いからです。ランダムファイルは連続的に読み出すことはできますが、逆はできません。そのため、AFILEは以前に保存した情報を取得するために、BFILEは新しい情報を書き込むために使用するという2つのファイルに分かれています。
AFILEから情報を取得するには、READ# 1; フィールド1、フィールド2、フィールド3を実行する必要があります。READコマンドは、ディスク(またはテープ)ファイルに対するINPUTコマンドに相当するものです。#1は、最初に開かれたファイルであるAFILEへの直接参照です。フィールド1、2、…は、AFILEに書き込んだ際に出力される変数です。
BFILEにデータを出力するには、もう少し馴染みのある方法を使用します。PRINT #2, 14; フィールド1、フィールド2、フィールド3 …。このコマンドのPRINT部分は、CRTへの出力と同じように機能します。112は、2番目に開いたファイルであるBFILEを参照していることを意味します。14は、ランダムファイルBFILEの14番目のレコードを指します。フィールド1、2、3はAFILEと同じです。
プログラムの後半で、AFILEとBFILEのファイルをCLOSEする必要があります。なぜでしょうか?それはデータを保持するためです。ディスクファイルへの書き込みと読み取りには、ファイル処理と呼ばれる慣習に慣れる必要があります。ファイル処理のエラーは、失われたファイルの回復に多大な労力を費やす可能性があります。ファイルにデータを書き込んだ後、ファイルを閉じないと、保存したデータがすべて失われる可能性があります。オペレーティングシステムが例外を許す場合もあるため、必ずしもそうとは限りません。CLOSE 1, 2 はAFILEとBFILEを閉じます。
ファイルを閉じないのは、底のない箱にビー玉を入れるようなものです。ファイルを使おうとすると、データは簡単にアクセスできる場所にありません。
次回は、APPLE II ディスクについての予備的なコメントです。
APPLE会長兼クラブ会長。ビルは1981年から1982年まで、創設者ヴァル・J・ゴールディングとAPPLEのために働きました。1999年、APPLEが配布・販売していた資料のアーカイブ化に着手しました。このプロジェクトが、APPLEの残党グループの設立へと繋がりました。ビルは東京の金融業界に携わり、20以上の主要なオフィスインフラプロジェクトを手掛けてきました。2001年3月、執筆活動や個人的な活動に専念するため、退職しました。ユーザーグループの会長として、ビルはCall-APPLEマガジンの発行とこのウェブサイトの運営を担当しています。現在は東京とワシントン州シェルトンを拠点に活動しています。
関連記事



