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;