buffer = buffer + Format(Hex(data(i)),"00") + Chr(12)

解决方案 »

  1.   

    第二个问题我不太明白什么意思。
    数据传输的时候如果用Byte接收,那就是0-255啊(也就是你所说的两位--十六进制)。如果你想得到一个字符串,可以自己处理。
      

  2.   

    TO:C00ly,你的方法行不通!!!!
      

  3.   

    buffer = buffer + IIf(Len(Hex(Data(i))) = 1, "0" & CStr(Hex(Data(i))), CStr(Hex(Data(i)))) + Chr(12)
      

  4.   

    For i = LBound(data) To UBound(data)
    buffer = buffer + IIf(Len(Hex(Data(i))) = 1, "0" & CStr(Hex(Data(i))), CStr(Hex(Data(i)))) + Chr(12)
    Next i'循环接收后,就可以得到一个字符串了.....Text1.Text = buffer
      

  5.   

    lazy:你真是很聪明,谢谢你的帮助!第1个问题解决了
    谢谢
    第2个问题。也许是我说的不清楚1
    我再说一下:
    当mscom收到事先约定好的RThreshold的值时,就触发一个on-comm事件呀,
    我自己时定RThreshold=1。当触发事件时,我一次只能收到2个16进制的数(如第一次是1C C0 ,再是CD 32 ,然后第三次是40 0D ,,,,)我现在
    是想,我该如何可以当事件触发时,我可以一次收到完整的数据(协议规定以1C开始,以54结束,
    如1C C0 CD 32 40 0D 3E 54),我时这个意思,我说明白了吗?