当前位置:编程学习 > VB >>

串口mscomm 传送图片

我现在做一个从vb4(16位)到vb6移植的项目,通过mscomm送信字符串信息和图片。收信侧解析字符串做相应处理。vb4(16位)传送图片用string,现在vb6我传送图片还想用string来传送,因为如果改按byte来传送,程序会改动很大,以前字符串解析部分都需要修改。

vb4(16位) 字符串和图片都是通过下面这个函数传递
①取得照片数据,SENDmj 是string
Dim  SENDmj  as string
Get #StatF, 1, SENDmj

②发送字符串或图片
OUTmj$ = SENDmj  
Sub CommX_Output(OUTmj$)
    For n = 1 To LenB(OUTmj$)
         m1$ = MidB$(OUTmj$, n, 1)
         InterFilForm.Comm1.Output = m1$ 
    Next
End Sub

vb6 我修改为以下
①取得照片数据,StrSend 为字符串
Dim ByteSend(1024) As Byte
Get #StatF, 1, ByteSend()
将byte转为ascii
For jj = 0 To 1024
     StrSend = StrSend & ChrW(ByteSend(jj))
Next

②发送字符串或图片
OUTmj$ = StrSend 
Sub CommX_Output(OUTmj$)
    For n = 1 To LenB(OUTmj$) Step 2
         m1$ = MidB$(OUTmj$, n, 2)
         InterFilForm.Comm1.Output = m1$ 
    Next
End Sub

字符串发送和接受解析都正确,但是图片发送可以,接受也可以,就是接受到数据和发送的不一样,图片显示不出来?请高人指点一下,图片数据必须byte发送吗,按文本发送怎么转换,请高人指点?如果按byte发送,字符串部分该怎么改呢?(InputMode = comInputModeText)





--------------------编程问答-------------------- 1)首先请LZ确认图片是何种格式的?如何获得?
2)如果图片是2进制文件,则必须以Byte字节流传送.以字符传送回破坏图片内容,以至于无法还原. --------------------编程问答-------------------- 是的,传送图片必须注意处理方式,以字节流方式来处理。 --------------------编程问答-------------------- 貌似只有BMP和JPG能转换为字节流吧? --------------------编程问答--------------------
引用 3 楼 veron_04 的回复:
貌似只有BMP和JPG能转换为字节流吧?

任何2进制文件(文本文件也可视作2进制文件)都可以Byte字节流传送.
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,