同僚も私もプログラムの経験が無いため、困り果てています。
超初級の質問でご迷惑でしょうが、どなたか、お知恵を拝借したく
質問いたしました。
テキストファイルを読み込んで、それの末尾に、com1から読み込んだdataを
追加し、そのファイルを保存するものです。
皆さんのプログラムを参考にコピペしながら色々試しましたが、行き詰まっています。
コード: 全て選択
Sub dataapend(Path As String)
Dim hFile As Long
Dim dwFileSize As DWord
Dim dwAccessByte As DWord
Dim buffer As BytePtr
Dim com1232cdata As BytePtr
Dim com1data AS BytePtr
'-------------------
' ファイル オープン
'-------------------
hFile=CreateFile(Path, GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, _
ByVal 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
If hFile=INVALID_HANDLE_VALUE Then
MessageBox(0,"ファイルオープンに失敗","TextEditor",MB_OK)
Exit Sub
End If
'ファイルサイズを取得し、バッファを確保する
dwFileSize=GetFileSize(hFile,0)
buffer=malloc(dwFileSize+1)
'ファイルの内容を文字列変数bufferに読み込む
ReadFile(hFile,buffer,dwFileSize,VarPtr(dwAccessByte),ByVal 0)
buffer[dwAccessByte]=0
'**com1よりdata読み込み(騒音計)
'**dataをcom1data とする
com1data="12wq3,wedc,133,dew4,567,zsdef" '仮データ
'現ファイル表示-debug
MessageBox(0, buffer, "現在のファイル内容", MB_OK)
'文字列を結合し,1個の文字列とする
lstrcat(buffer,com1data)
'新ファイルデータデータ表示-debug
MessageBox(0, buffer, "新テキスト内容", MB_OK)
'文字列の長さ取得
dwFileSize=Len(buffer)
'ファイル長さ表示-debug
MessageBox(0,Str$(Len(buffer)), "新ファイルサイズ", MB_OK)
'----------------
' ファイルへ保存
'----------------
'書き込む
WriteFile(hFile,buffer,dwFileSize,VarPtr(dwAccessByte),ByVal 0)
'ファイル ハンドルを閉じる
CloseHandle(hFile)
'バッファを解放する
free(buffer)
End Sub
'***プログラムSTART
Dim Gfilename As String
Gfilename="騒音測定.txt"
dataapend(Gfilename)
end