procedure TForm1.FormCreate(Sender: TObject);type TByteArr = array [0..1] of Byte; PByteArr = ^TByteArr;var Bytes: TBytes; buf,buf2: TByteArr; cmd,n_10: string; Len: Integer; c: char; n_int:ushort; w:Word; {Ushort : word}begin cmd:= 'F'; n_int:= 513; {0000 0010 0000 0001 } c:= '1'; Bytes := TEncoding.ASCII.GetBytes(cmd); {将string类型中的字符转ASCII} Len := Length(Bytes); cmd:= IntToHex(n_int,2); {将int类型转出16进制字符串} {1} Move(n_int,buf,SizeOf(n_int)); {将int 转 Buff} {2} buf2:= PByteArr(@n_int)^;end;procedure TForm1.RzButton1Click(Sender: TObject);
var
buf: array[0..1] of byte;
bus: array[0..3] of byte;
si:SmallInt ;
i:Integer ;
w1,w2:Word; //two bytes represent a word, not an integer
begin {定义Byte,并写入数据}
buf[0] := $01;
buf[1] := $02; {0000 0010 0000 0001 }
bus[0] := $00;
bus[1] := $01;
bus[2] := $02;
bus[3] := $03;
{1}
Move(buf,si,SizeOf(SmallInt) );
ShowMessage(IntToStr(si));
{2}
WordRec(w1).Lo:= buf[0];
WordRec(w1).Hi:= buf[1];
w2:= PWORD(@buf)^;
{3}
Move(bus,i,SizeOf(Integer) );
ShowMessage(IntToStr(i));
end;
procedure TForm1.RzButton2Click(Sender: TObject);
var
a: array[0..7] of Byte;
d1, d2: Double;
begin
d1 := 123.456;
fillchar(a, 8, 0); {fillchar}
Move(d1, a, 8);
Move(a, d2, 8);
ShowMessage(FloatToStr(d2));
end;