有一个byte数组 buffer: arryay[0..2047] of byte,该数据里面存放的是十六进制数,比如:
buffer[0] := $02;
buffer[1] := $03;
......
buffer[2047] := $10;现在想把这2048个字节组合成字,也就是1024个字,请问怎么组合?例如将上面的$02和$03组合成 0203?
buffer[0] := $02;
buffer[1] := $03;
......
buffer[2047] := $10;现在想把这2048个字节组合成字,也就是1024个字,请问怎么组合?例如将上面的$02和$03组合成 0203?
buf: array[0..2047] of char;
tmp: string;
begin
move(buffer,buf,2048);
//buf就是你所要的字符串。
tmp := buf;
ShowMessage(buf);
ShowMessage(tmp);
end;
str.clear;
for i:=0 to 1023 do
begin
s1:=inttohex(buffer[2i],2);
s2:=inttohex(buffer[2i+1],2);
str.add(s1+s2);
end;
buf: array[0..3] of byte;
buffer: array[0..1] of word;
tmp: string;
i: integer;
begin
buf[0] := $02;
buf[1] := $03;
buf[2] := $04;
buf[3] := $05;
move(buf,buffer,4);
for i := 0 to 1 do
我的组件名字.WriteRegister(i+1,buffer[i]);
end;发过去后,发现寄存器里面变成了 0x0302 和 0x0504,是正常的吗?