var
  buffer : array[0..1] of bytebegin
  buffer[0]:=$80;
  buffer[1]:=$64;
  buffer[2]:=$A8;
  buffer[3]:=$C1;  //请问一下怎么把buffer转成十进制数,谢谢。end;

解决方案 »

  1.   

    首先你那个数组下标越界了啊,定义是0..1,结果却是4个元素。
    用move函数可以:
    var
      I: Integer;
    begin
      Move(Buffer, I, SizeOf(I));
    end;
    不过这样出来的已经是负数了,也可以把I声明成Cardinal
      

  2.   

    谢谢,这个问题我解决了,现在出来个新的问题BCD码转十进制,,我想知道bcdtointeger用法,谢谢
      

  3.   

    var
      buffer : array[0..1] of bytebegin
      buffer[0]:=$20;
      buffer[1]:=$05;BCD码转成十进制,谢谢
      

  4.   

    非压缩型的?那buffer[0]不能是$20啊。
    压缩型的?那就
    StrToInt(IntToHex(Buffer[0], 2));
    StrToInt(IntToHex(Buffer[1], 2));
      

  5.   

    已经做出来了,
    bcdtointeger(Tbcd):integer;