バイナリオープンでAppendを可能にする

<戻る

ここに載せてあるソースコードは、参考のために載せてあります

サンプルコードは、一番下にLZHとしてあります

Appendとは、ファイルのお尻からデータを追加していく機能のことです




Option Explicit

'BinaryAppend関数には直接関係ありませんが
'ファイルパスを統一するために変数を使用します
Dim mFilePath As String

'フォームのロードイベントです
Private Sub Form_Load()
    'ファイルパスの指定をします
    mFilePath = App.Path & "\n.txt"
End Sub

'バイナリデータを
'指定したファイルのお尻から追加します
Sub BinaryAppend(ByVal strFilePath As String, ByRef bytAddData() As Byte)
    Dim fn      As Integer
    Dim fsize   As Long
    
    On Local Error Resume Next
    
    'ファイルサイズを取得します
    fsize = FileLen(strFilePath)
    
    fn = FreeFile
    Open strFilePath For Binary As #fn
       Put #fn, fsize + 1, bytAddData
    Close
End Sub

'ファイルにデータを追加します
Private Sub Command1_Click()
    Dim bytArray() As Byte
    
    '関数を実験的(視覚的)に使うため
    '文字列を使います
    '実際は、巨大なファイルの移動やコピーなどに
    '(ローカルまたはリモートなどで)
    '使用すると効果的でしょう
    bytArray = StrConv(Text1.Text & vbCrLf, vbFromUnicode)
    
    '指定のファイルにバイナリデータを追加します
    BinaryAppend mFilePath, bytArray
End Sub

'ファイルのデータを確認します
Private Sub Command2_Click()
    Dim fn              As Integer
    Dim fs              As Long
    Dim bytGetData()    As Byte
    
    On Error Resume Next
    
    'ファイルサイズを取得します
    fs = FileLen(mFilePath)
    '配列をファイルサイズにあわせます
    ReDim bytGetData(fs)
    
    'ファイルのデータを読み込みます
    fn = FreeFile
    Open mFilePath For Binary As #fn
        Get #fn, , bytGetData
    Close
    
    'データをテキストボックスに表示します
    Text2.Text = StrConv(bytGetData, vbUnicode)
End Sub

'ファイルのデータを空にします
Private Sub Command3_Click()
    Dim fn As Integer
    
    fn = FreeFile
    Open mFilePath For Output As #fn
        Print #fn, "";
    Close
End Sub



<戻る

Sample65.lzh


http://hp.vector.co.jp/authors/VA015521/