「ファイルからデータを読み取る」の編集履歴(バックアップ)一覧はこちら
「ファイルからデータを読み取る」(2006/10/16 (月) 22:08:25) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*ファイルからデータを読み取る
SRCヘルプのサンプルは少々実用的でないので書き足し。
****ファイルの内容を全部参照(取得)する
辞典インクルードなどで設定ファイルを読み込むときに使います。
SRCヘルプ内LineReadコマンドのサンプルでは先頭から三行データを読み込んでいましたが、こちらではWhileループを用いてファイルを最初から最後まで全部読み込みます。
*****サンプル
// 一時的に使うものは全てローカル変数にしましょう
Local fp filepath data
// 参照するファイルまでのパスを指定
filepath = "Lib\辞書インクル\パイロットデータ.dat"
// ファイルを開く
Open filepath For 入力 As fp
// ファイルポインタがEOF(End Of File)に達するまでループ
// こうすることで、ファイルを全部参照しきったら自動でループから抜けてくれます
Do While (EOF(fp) = 0)
// ファイルから一行取り出し、dataに格納
// LineReadは実行されるたびにfpを更新してくれるので、特に操作をしなくても次の行を参照できます
LineRead fp data
Loop
// ファイルを閉じる
// これをしないとファイル破損の原因に
Close fp
****応用例
応用として、LineReadを複数記述することで、1ループにつきX行読み出すという動作をさせることができます。
※サンプル
Do While (EOF(fp) = 0)
// 一度に三行のデータを読み出す
LineRead fp data[1]
LineRead fp data[2]
LineRead fp data[3]
Loop
ただし、データ形式が決まっていてファイルの行数が必ず三行、という場合以外は注意が必要です。
例えば二行目のLineReadでfpがEOFに到達してしまった場合、三行目のLineReadはどうなるでしょうか?
SRCが親切設計なら空文字を返してくれるでしょうし、そうでなければエラーが発生してファイルを破損してしまうかもしれません。
まあ実際のところ、SRCがエラーを表示してくれます。もちろんファイルは無事です。
どのみちエラーが出るのは困るので、ファイルの扱いには注意しましょう。
表示オプション
横に並べて表示:
変化行の前後のみ表示: