如何将一个byte类型的数组的元素,转换为字符串,并显示出来?(30分)

  • 主题发起人 主题发起人 carrie4002
  • 开始时间 开始时间
C

carrie4002

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将一个byte类型的数组的所有元素,转换为字符串,
并显示在控件上?
bytstr1:array[1..6] of byte=(22,35,24,23,15,58);
用下面这个语句似乎不行:
str1:=str1+inttohex(sbuf[1],2)
该怎么做?
 
var
Form1: TForm1;

bytstr1:array[1..6] of byte=(22,35,24,23,15,58);

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
i:integer;
begin
s := '';
for i := low(bytstr1) to high(bytstr1) do
begin
s := s + IntToHex(bytstr1,2);
end;
Edit1.Text := s;
end;
 
谢谢。
为何空格实现不了呢?
s := s+IntToHex(sbuf,2)+'';
后面的空格不认呢?因为原始的数据是有空格的。
 
str1:=str1+format('%2d',[bytstr1]);
 
转换为16进制的函数IntToHex呢?
'%2d'是控制数字型数据格式的。IntToHex后
应该是字符型数据。
 
你是要十进制的还是16进制的数呢?inttohex是16进制的数啊,format('%.2d',[bytstr1]); 是10进制数,至于空格你要先了解空字符串''和空格' '的区别,你那样只是一个空字符串而已。
 
谢谢。给二位加分了。
 
多人接受答案了。
 
后退
顶部