你是用mscomm收的吗,如果是的话,我这边是将inputmode设为按照二进制接收,返回的就是10进制编码了

解决方案 »

  1.   

    将接收到的字节用strconv进行转换即可,参看MSDN,想转成什么码都可以。
    可以参考VB自带的例子VBTERM.VBP
      

  2.   

    a15-a0 16个2进制数。a15*2^15+a14*2^14+........+a1*2^1+a0*2^0
      

  3.   

    可以先把它转换成10进制数,然后再把它转换成它们的ACSII码,进行输出!!试一试!!希望你能成功!!
      

  4.   

    对,是用MSCOMM控件接收的。比如下位机(仪器)显示的数据为“1000”,那么它就要用两个字节来存储给数据。那么我通过MSCOMM控件接收过来,请问要经过怎样的转化才能从新在上位机中显示数据“1000”?
      

  5.   

    要看下位机是怎么发送的,如果下位机是二进制就这样还原:
    Data=DataH*256+DataL
      

  6.   

    接收放在字节数组中,再用hex函数转为16进制字串,各个字串连在一起就可以了
    不过Hex转换出来的字串有可能是一个字串(如:14-->E;20-->14)
    你自己在换一下
      

  7.   

    谢谢各位大侠!大家都讲得有理,我已经达到目的了!谢谢!尤其是huxiangming 同志!