将tlogin定义成指针,将它指向数组不久可以了type TBuffer = array[0..1023]of byte; PLogin=^Tlogin; Tlogin=packed record name:array[0..15] of Char; sex:Byte; pass:array[0..31] of Char; end; procedure TForm1.Button1Click(Sender: TObject); var buffer:TBuffer ; login:Tlogin; I:Integer; begin for I := 0 to 1023 do buffer[i]:= Byte(I)+$30; login := PLogin(@buffer)^; ShowMessage(login.name); end;
TBuffer = array[0..1023]of byte;var buffer:TBuffer ;
copymemroy(@Login,@TBuffer(buf^)[1],sizeof(TLogin));或者
inc(longword(buf));
copymemroy(@Login,buf,sizeof(TLogin));
dec(longword(buf));
TBuffer = array[0..1023]of byte;
PLogin=^Tlogin;
Tlogin=packed record
name:array[0..15] of Char;
sex:Byte;
pass:array[0..31] of Char;
end;
procedure TForm1.Button1Click(Sender: TObject);
var buffer:TBuffer ;
login:Tlogin;
I:Integer;
begin
for I := 0 to 1023 do
buffer[i]:= Byte(I)+$30;
login := PLogin(@buffer)^;
ShowMessage(login.name);
end;