已有23人关注
关于string转BYTE()的问题---- to VBsoldier
发表在VB答疑区 2009-10-13
是否精华
版块置顶:
老大啊,你没有理解我问的问题,可能是我没有说清楚,现再详述一下。

文件发送端的关键相关程序如下:
 Private Sub sckServer_DataArrival(index As Integer, ByVal bytesTotal As Long)   
    Dim BytDate() As Byte
    Dim FileName As String
    Dim lngFile As Long
    Dim j As Long
    Dim monthnumber As Integer       
           FileName = "D:\电渣数据表\10月.xls "         '取得文件名及路径
           lngFile = FileLen(FileName) \ 1024         '取得文件长度
           For j = 0 To lngFile
             ReDim myFile(1023) As Byte                 '初始化数组
            Open FileName For Binary As #1             '打开文件
            Get #1, j * 1024 + 1, myFile               '将文件写入数组
            Close #1                                   '关闭文件
            sckServer(index).SendData myFile                   '发送
            DoEvents
            Next j
           End Sub


接收端的关键程序如下:
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 

现在的问题是:发送端发出的数据是把EXCEL文件分成1024字节为一个数组,并发送若干次,而接收端接收时是用语句sckClient.GetData s,来接收,由于我程序中还有其它的字符串要传送,因此把s定义为string,这样其它字符串就无需转换了,但接收EXCEL文件时必须把接收到的s中的数据转换为byte()数组,再写到接收端的EXCEL文件中去,我现在就是卡在转换这里了。如何转换?老大说的《VB项目开发全程实录》我暂时还没有购买,因此拜托您ctrl+c然后ctrl+v一下,我整个程序基本都调通了,就差这个问题了。拜托了!!!


分享到:
精彩评论 1
vbsoldier
学分:0 LV1
2009-10-13
沙发
您好,使用字符串类型变量无法正确接收字节类型数据,接收后出现乱码,无法转换为字节数组。建议再添加一个WinSock控件用于接收或发送文件。
首页上一页 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经营性网站备案信息 营业执照