码迷,mamicode.com
首页 > 其他好文 > 详细

结构体的序列和还原(使用Move方法)

时间:2016-03-03 01:18:27      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

// 定义结构体

type
TmyRec= record
name:string[10];
password:string[10];
end;

function RawToBytes(const AValue; const ASize: Integer): TBytes;
begin
SetLength(Result, ASize);
if ASize > 0 then begin
Move(AValue, Result[0], ASize);
end;
end;

procedure BytesToRaw(const AValue: TBytes; var VBuffer; const ASize: Integer);
begin
Assert(Length(AValue) >= ASize);
Move(AValue[0], VBuffer, ASize);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
rec: TmyRec;
rec2: TmyRec;
db:TBytes;
begin
rec.name :=‘cxg‘;
rec.password:=‘929‘;
// 序列结构体为bytes
db := RawToBytes(rec, SizeOf(rec));
// bytes还原结构体
BytesToRaw(db, rec2, SizeOf(rec2));
Caption := rec2.name+‘\‘+rec2.password;
end;

http://www.cnblogs.com/hnxxcxg/p/4253919.html

结构体的序列和还原(使用Move方法)

标签:

原文地址:http://www.cnblogs.com/findumars/p/5236998.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!