问题描述在倒数第三行的注释,读取二进制文件
时间:2011-10-26
来源:互联网
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
作者: weiyulin 发布时间: 2011-10-26
你的意思是Me.Caption和实际的Val(Me.Caption) + UBound(Fdata)不符?
直接Debug.Print看看UBound(Fdata)到底是多少呢
作者: WallesCai 发布时间: 2011-10-26
不是,我的意思是说 已发送字节数<>文件长度 不知道哪里出的问题,请指教(实际发送长度=文件长度-1)
作者: weiyulin 发布时间: 2011-10-26
不是,我的意思是说 已发送字节数<>文件长度 不知道哪里出的问题,请指教(实际发送长度=文件长度-1)
用个本办法就可以知道了:发送一个短文件,接收并查看是否一致,如果一致则说明是计数方法不同导致的
作者: WallesCai 发布时间: 2011-10-26
作者: weiyulin 发布时间: 2011-10-26
作者: weiyulin 发布时间: 2011-10-26
作者: weiyulin 发布时间: 2011-10-26
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28