学习结构[记录]类型(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;
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;
相关文章推荐
- 学习结构[记录]类型(3) - 结构间的关系
- 学习结构[记录]类型(4) - 结构指针
- Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库 自定义日志记录功能,按日记录,很方便 C#常量和字段以及各种方法的语法总结 类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法 asp.net webapi 自定义身份验证
- 学习结构[记录]类型(7) - 结构也可以有构造函数
- 学习结构[记录]类型(4) - 结构指针
- 学习结构[记录]类型(5) - 结构的方法
- 学习结构[记录]类型(8) - 结构嵌套
- Delphi中学习结构[记录]类型用法(转载)
- 学习结构[记录]类型(2) - 压缩结构
- 学习结构[记录]类型(9) - 变体结构
- 学习结构[记录]类型(1) - 开始
- 学习结构[记录]类型(2) - 压缩结构
- 学习结构[记录]类型(6) - 结构的属性
- 黑马程序员之ios学习总结——06 C语言的变量类型和结构体
- JavaEE学习记录(一)--软件系统体系结构
- linux学习第五篇:系统目录结构,ls命令,文件类型以及alias命令
- swift学习记录(实例方法和类型方法)
- swift 学习记录(可选类型 Optionals)
- 结构大小不等于各数据类型之和--编程之道学习笔记1
- Python基础,基本类型(整型,浮点数等)数据结构(List,dic(Map),Set,Tuple),控制语句(if,for,while,continue or break):来自学习资料