比如有一个字节数组:ST[1]:=$80;ST[2]:=$EC;ST[3]=$CC
现在我想在edit1.text里显示其中一个的值,比如我想知道$80是多少?怎么办?

解决方案 »

  1.   

    16进制:Format('%x',[st[1]]);10进制:Format('%d',[st[1]]);
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      ST: array[1..3] of byte;
      s: string;
    begin
      ST[1] := $80; ST[2] := $EC; ST[3] := $CC;  SetLength(s, 3);
      move(ST[1], s[1],3);
      Edit1.Text := s;
    end;
      

  3.   

    首先,上面说的都没有错。其次,我回答一下:“我是想得到它的二进制是多少?”function TestBits(Value, Index : integer) : integer;
    asm
      BT  EAX, Index
      SBB EAX, EAX
      AND EAX, 1
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      B : Byte; // B就是你的Byte数组中的某个元素
      I : integer;
      S : string;
    begin
      B := $80;
      S := '';
      for I := SizeOf(B) * 8 -1 downto 0 do
        S := S + IntToStr(TestBits(B, I));//S 就是 B 的各个二进位的状态
      ShowMessage(S);
    end;哈哈,这不是唯一的解决办法。