问题描述在倒数第三行的注释,读取二进制文件
Private Sub Command1_Click()
WinClient.RemoteHost = "127.0.0.1"
WinClient.RemotePort = 1001
WinClient.Connect ' 进行连接
End Sub
Private Sub Command2_Click()
If WinClient.State <> 7 Then
Exit Sub
End If
Dim FLen As Long
Dim Fdata() As Byte
Dim Alist As Long
FLen = FileLen("c:\a.bmp") '获取文件长度
Open "c:\a.bmp" For Binary As 1 '打开文件,文件号为1
For Alist = 1 To FLen Step 1000 '每次读取1024个字节
DoEvents
If Alist + 1000 > FLen Then
ReDim Preserve Fdata(FLen - Alist)
Get #1, Alist, Fdata '读取文件数据
End If '如果剩下的字节数小于1024
If Alist + 1000 < FLen Then
ReDim Preserve Fdata(1000)
Get #1, Alist, Fdata
End If '如果剩下的字节数大于等于1024
WinClient.SendData Fdata
Me.Caption = Val(Me.Caption) + UBound(Fdata)
'这里显示的数据总比实际值小1,为什么,想了很久,没找到问题所在,请指教!
Next
End Sub
[解决办法]
Me.Caption = Val(Me.Caption) + UBound(Fdata)
你的意思是Me.Caption和实际的Val(Me.Caption) + UBound(Fdata)不符?
直接Debug.Print看看UBound(Fdata)到底是多少呢
[解决办法]