为了把数据转换成帧,通过串口送出。比如说 10进制数12345,对应的16进制数是 003039H,我把他放在三个字节里。因为帧的格式是string型的,我响了一个法子,觉得很麻烦。不知道各位有没有什么好的办法?
比如 340123 对应的16进制是05309BH 占三个字节  如何把它变成一个string 第一个字符是 05 第二个是30  第三个是9b呵呵

解决方案 »

  1.   

    用delphi 的 copy 函数啊:copy(str,1,2);//获取str的前两个字节
      

  2.   

    for i = 0 to .. do myvar(i) = copy(..)    
    or 
     myvar(i) = midstr(..)
      

  3.   

    我想大家理解错了我的意思,我是说
      比如:12345  对应的1进制数是 003039H, 我把他放在3个字节里,第一个字节是00,第二个是
    30,第三个是39
     
     难道可以copy(12345,1,3) ?
      

  4.   

    function IntToHex(Value: Integer; Digits: Integer): string; overload;
    function IntToHex(Value: Int64; Digits: Integer): string; overload;
    注意他返回的是
    string
    是这个问题吗
      

  5.   

    谢谢 不是这个 这个函数 我知道 但是如果用这个函数的 12345 即 003039H 的内容就是 
    ‘003039’了  我想要的结果是 chr(00) + chr(30) + chr(39)