读书人

有关问题描述在倒数第三行的注释,读取

发布时间: 2012-03-24 14:00:46 作者: rapoo

问题描述在倒数第三行的注释,读取二进制文件
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)到底是多少呢
[解决办法]

探讨
不是,我的意思是说 已发送字节数<>文件长度 不知道哪里出的问题,请指教(实际发送长度=文件长度-1)

读书人网 >VB

热点推荐