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;
时间: 2024-10-10 09:47:43