• ベストアンサー

昔のBASICでレコードを削除する方法?

昔のBASICで GETとPUTを使ってレコードの操作を行っております。 例えば、10件のデータがあり、5件目を削除したい場合は、どのようにすれば良いのでしょうか? 関数は見たところ、 特定のレコードを削除する関数はありませんでした。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

もう一つファイルを開いて、現状のファイルから1レコードずつ読み出し、新しいファイルに書き出す。その途中で削除するレコードは「書き出ししないで読み飛ばす」という方法では?。 ただし毎回これやると時間がかかるので、フィールドに「削除フラグ」フィールドを作っておいて、削除する場合はこのフィールドの値を変化させます。 通常、画面表示や印刷ではこのフラグが立っていれば無視する、という処理が現実的かな。 これだとあとで「あのレコードを復活させたい」と思った時でも簡単に復活出来ますし。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.2

レコードを削除というのは、後ろのレコードを前に詰めるということなんで、6番目を読んで5番目に書き、7番目を読んで6番目に書き、、、、というのを最後まで繰り返す必要があります。 実用的には、#1さんのお書きのように削除フラグを設けて「削除したつもりになる」のが良いかと思います。

関連するQ&A

専門家に質問してみよう