如何将一个字节数组显示出来?
比如有一个字节数组:ST[1]:=$80;ST[2]:=$EC;ST[3]=$CC
现在我想在edit1.text里显示其中一个的值,比如我想知道$80是多少?怎么办?
[解决办法]
16进制:Format( '%x ',[st[1]]);
10进制:Format( '%d ',[st[1]]);
[解决办法]
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;
[解决办法]
首先,上面说的都没有错。
其次,我回答一下:“我是想得到它的二进制是多少?”
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;
哈哈,这不是唯一的解决办法。