私が改善したい別のプログラマーによって書かれたコードがあります。このモジュールの目的は、カメラからライブ画像ストリームを取得し、画像ウィンドウに表示することです。TCP IP接続を介してそれを行っています。これがどのように行われるかです
Private Sub DataArrival(ByVal bytes As Long)
Dim str As String
' check the socket for data
camera.GetData str
Dim str As String
While InStr(str, Terminator) <> 0
**Do some processing and put only the data in the variable str
str = Mid(str, index, 1000)
lImgSize = lImgSize + Len(str)
strImg = strImg + str
If lImageSize >= 1614414 Then
Dim fileno As Integer
fileno = FreeFile()
Open ".\Imagefile.txt" For Output As #intFileNo
Print #fileno , strImg
Close #fileno
End If
End Sub
入力画像ストリームが来て文字列に変換され、サイズを計算して画像の終わりをチェックしてファイルに書き込みます。ただし、ハードコードされた値は常にファイルの終わりを保証するものではありません。画像サイズがサイズより少し小さい場合、画像ボックスがライブ画像で更新されないことがあります。
編集: これは image.txt ファイルに含まれるものです。
1
1575020 // file size header
424D36040C0000000000360400002800000000040000000300000100080000000000000000000000
--data--
--data--
020303030203010302010202030002030203020302020302030202030102
3BFB
VB6でこれを処理する他の効率的な方法はありますか?