- ベストアンサー
昔のBASICでレコードを削除する方法?
昔のBASICで GETとPUTを使ってレコードの操作を行っております。 例えば、10件のデータがあり、5件目を削除したい場合は、どのようにすれば良いのでしょうか? 関数は見たところ、 特定のレコードを削除する関数はありませんでした。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
もう一つファイルを開いて、現状のファイルから1レコードずつ読み出し、新しいファイルに書き出す。その途中で削除するレコードは「書き出ししないで読み飛ばす」という方法では?。 ただし毎回これやると時間がかかるので、フィールドに「削除フラグ」フィールドを作っておいて、削除する場合はこのフィールドの値を変化させます。 通常、画面表示や印刷ではこのフラグが立っていれば無視する、という処理が現実的かな。 これだとあとで「あのレコードを復活させたい」と思った時でも簡単に復活出来ますし。
その他の回答 (1)
- notnot
- ベストアンサー率47% (4900/10358)
回答No.2
レコードを削除というのは、後ろのレコードを前に詰めるということなんで、6番目を読んで5番目に書き、7番目を読んで6番目に書き、、、、というのを最後まで繰り返す必要があります。 実用的には、#1さんのお書きのように削除フラグを設けて「削除したつもりになる」のが良いかと思います。