已有23人关注
关于string转BYTE()的问题
发表在VB答疑区 2009-10-13
是否精华
版块置顶:
请lemon 师兄回答好吗?

在下用winsock 控件发送EXCEL文件时遇到的问题如下:(部分关键代码)
Private Sub sckClient_DataArrival(ByVal bytesTotal As Long)
Dim myFile() As Byte
Dim myLong As Double
Dim myPath As String
Dim s As String’由于接收其它大量信息时需要用字符串的格式,所以S没有预设为BYTE()数组,而采用接   收EXCEL文件时将string转换为BYTE()数组的方式
sckClient.GetData s
Kill "D:\Program Files\电渣数据采集系统客户端\电渣数据表\10月.xls"’先删除原先存在的老文件
myPath = "D:\Program Files\电渣数据采集系统客户端\电渣数据表\10月.xls"
    myFile = strbyt(s)’此处的字符串转换为BYTE数组函数在下实在是不知该如何下手,我曾经尝试用StrConv(s, vbFromUnicode) ,但接收到的文件不对,请师兄给个示例代码,谢谢!
    Open myPath For Binary As #1        '新建文件
    myLong = FileLen(myPath)
    Put #1, myLong + 1, myFile                '将收到的数据写入新文件中
    Close #1   '关闭
End sud                                  
分享到:
精彩评论 1
vbsoldier
学分:0 LV1
2009-10-13
沙发
您好,lemon 师兄最近比较忙,可能回家收柠檬去了,由我代为回答。使用Get语句可以将文件以字节数组的形式打开例如

Get #文件号,,字节数组名称

字节数组的上限可以使用FileSystem.FileLen指定。

使用WinSock控件传送字节时有8192字节数限制,如果发送较大的文件需要将文本分为若干块,顺次发送。

您可以参考一下《VB项目开发全程实录》中 第9章 BQ聊天系统中 文件发送与接收的相关代码。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照