バイナリデータとして読み書きする |
テキストファイルをバイナリデータとして読み書きする (120) | |
Option Explicit Private Sub Command1_Click() 'テキストファイルをバイナリデータとして読込表示する(その1) Dim bytArray() As Byte Dim intFileNo As Integer Dim lngFileLenB As Long lngFileLenB = FileLen("sample1.txt") ReDim bytArray(lngFileLenB - 1) '使用可能なファイル番号を取得する intFileNo = FreeFile 'ファイルをバイナリモードで開く Open "sample1.txt" For Binary As #intFileNo 'バイナリデータとして読込んで Get #intFileNo, , bytArray Close #intFileNo 'Unicodeに変換して表示 Text1.Text = StrConv(bytArray, vbUnicode) End Sub Private Sub Command2_Click() 'テキストファイルをバイナリデータとして読込表示する(その2) Dim intFileNo As Integer '使用可能なファイル番号を取得する intFileNo = FreeFile 'ファイルをシーケンシャル入力モードで開く Open "sample1.txt" For Input As #intFileNo 'バイナリデータとして読込んでUnicodeに変換して表示 Text1.Text = StrConv(InputB$(LOF(intFileNo), intFileNo), vbUnicode) Close #intFileNo End Sub Private Sub Command3_Click() 'テキストファイルをバイナリモードで書込み Dim intFileNo As Integer intFileNo = FreeFile 'ファイルをバイナリモードで開く Open "sample1.txt" For Binary Access Write As #intFileNo 'テキストファイルを丸ごと書込み Put #intFileNo, , Text1.Text Close #intFileNo End Sub |
|
テキストボックスの内容を丸ごと保存・丸ごと読み込みする。ではシーケンシャルモードで丸ごと読み書きしていましたが、この方法では ”” で区切られてしまいますので、文中には ”” を使用出来ませんでしたが、バイナリモード読み書きする事によって表示された内容そのままを保存・読込でき、尚高速に読み書きができます。 又、指定バイト分読み込んだり、大きなファイルの最後の方だけ読み込んだりとか、工夫次第では使い道が色々あります。 ※ バイナリファイルを読み込んだり、表示方法を16進数等で表記しているのでは無いのでお間違えないようにして下さい。 |
02/03/21