固定長ファイル(ランダムファイル)の読み込み、書き込みについて説明します。
固定長ファイルは、データがテキスト形式とは限りません。バイナリー形式もあります。
VBでは、FileSystem クラスを使用することにより、簡単に固定長ファイルのアクセスが出来ます。
・System.Runtime.InteropServicesをインポートします。
FileSystem クラスを使用して、固定長ファイルの読み書きをする
固定長ファイルの構造体
<StructLayout(LayoutKind.Sequential, Pack:=1)> Friend Structure Person <VBFixedArray(10 - 1)> Public Name() As Byte <VBFixedArray(5 - 1)> Public Age() As Byte End Structure
ランダムファイルの読み書き
Dim FilePath As String = "C:\work\myrfile.txt" 'レコード長を取得する Dim recordLen As Long = Len(New Person()) Dim pos As Person = New Person() 'ファイルをオープンする Dim FileNo As Integer = FileSystem.FreeFile FileSystem.FileOpen(FileNo, FilePath, OpenMode.Random, OpenAccess.ReadWrite, OpenShare.Default, recordLen) '全レコード数を取得する Dim recordMax As Long = FileSystem.LOF(FileNo) \ recordLen '1レコード読み込む(先頭レコード) FileSystem.FileGet(FileNo, pos, 1) '1レコードを書き込む(最終レコードに追加) FileSystem.FilePut(FileNo, pos, recordMax + 1) 'ファイルをクローズする FileSystem.FileClose(FileNo)