用MSComm控件发送到COM口的16进制数在VB中可以表示成0x3E 这种形式 ,在Delphi中如何表示 ? 我现在需要发送类似 A1 32 25 26 这样的16进制数 , 但是不知道如何将此字符串以A1 32 25 26的形式并且是作为16进制数传出去 . 是否也需要在前面加0x之类的东西 ?

解决方案 »

  1.   

    showmessage(inttostr($a2));
    前面增加一个 $ 就可以了!
      

  2.   

    DELPHI中为$A1表示VB中的0xA1
    ss:string;ss[1]:=chr($a1);
    ss[2]:=chr($32);
    ss[3]:=chr($25);
    ss[4]:=chr($26);
    ss[5]:=chr(0);
    再把ss发送出去,OK了
      

  3.   

    直接用#$A1就可以了,
    比如
    ss[1]:=#$A1;
    ss[2]:=#$32;还有就是
    我记得MSCOMM发送时,需要的参数是Variant,
    不能直接发送string类型的字符串吧,
    要把string转换成Variant类型的字型数组.
      

  4.   

    直接用#$A1就可以了,
    比如
    ss[1]:=#$A1;
    ss[2]:=#$32;还有就是
    我记得MSCOMM发送时,需要的参数是Variant,
    不能直接发送string类型的字符串吧,
    要把string转换成Variant类型的字型数组.
    怎样把string转换成Variant类型的字型数组?或者把Variant转换成string类型的字型数组?
      

  5.   

    MSComm控件在下用过,开发后的文件打包比较麻烦,费了好大的劲,建议使用TUBROPOWER的专业通讯控件。http://www.turbopower.com/updates/可以下载得到,帮助文件也很详细