您的位置:首页 > 其它

学习结构[记录]类型(3) - 结构间的关系

2013-06-23 10:26 351 查看
type
TRec1 = record
name: string[12];
age: Word;
end;

TRec2 = record
name: string[12];
age: Word;
end;

var
RecA,RecB: TRec1;
RecX,RecY: TRec2;

procedure TForm1.Button1Click(Sender: TObject);
begin
{给 RecA 赋值}
RecA.name := '张三';
RecA.age := 18;

{复制 RecA 给 RecB}
RecB := RecA;

{现在 RecB 的值和 RecA 一样}
ShowMessage(RecB.name); {张三}

{修改 RecB 的值}
RecB.name := '李四';

{RecA 的值不变, 因为现在 RecA、RecB 是两个不同的数据}
ShowMessage(RecA.name); {张三}

//RecX := RecA; {这样会出错!}
{尽管 RecX 与 RecA 的内部结构完全一样, 但 Delphi 认为它们是不同的数据类型}

RecX := TRec2(RecA); {但可以强制转换}
ShowMessage(RecX.name); {张三}

RecY.name := RecB.name; {交换内部值是可以的}
RecY.age := RecA.age;
ShowMessage(RecY.name); {李四}
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: