Delphi 2010学习笔记(11)---数据类型(记录类型)---2011-01-20

1.传统的记录类型:

   1.1 类型声明语法:

        Type

           TmyRec = Record

               meber1: type1;

               meber2: type2;

               ......

               meberN: typeN;

           End;

   

    1.2 变量声明语法:

              分两种: 一种用记录类型的名称定义,另一种使用一个记录直接定义

          例如:

              Type

                  Tmyrec = record

                       x: integer;

                       y: integer;

                   end;

               var

                   myrec: Tmyrec;

            或者

               var

                   myrec : record

                                     x: integer;

                                     y: integer;

                                  end;

     1.3 变量的赋值

             可以对记录的成员直接赋值,如:

                    myrec.x =1;

             若两个记录的类型一样,则可以把一个记录直接赋值给另一个记录,如:

                    var

                        myrec1,myrec2:Tmyrec;

                     ....

 

                        myrec1:=myrec2;

    

      1.4 变体记录

             语法:

               Type

                   Tmyrec = record

                          字段1:类型1;

                          字段2:类型1;

                          ……

                          字段M:类型M;

                    case [tag:] 有序类型 of

                          常量1:(字段声明);

                          常量2:(字段声明);

                          .....

                          常量N:(字段声明)[;]

                    end;

             说明:

               (1) Case 前的部分为普通记录声明,从Case开始到end之间的部分均是变体记录的专有部分

               (2) 变体记录部分必须置于所有普通成员之后

               (3) 其中以方括号“[]”围起来的内容均可省略

               (4) 其中的所有常量必须是指定的有序类型

               (5) 其中每个常量可包含多个常量值,中间以逗号隔开

               (6) 括号中的字段声明也可以包含多个字段声明,中间以分号隔开。

               (7) 字段声明不能为长字符串,动态数组,变体类型,接口以及包含这些类型的其他结构类型如记录,数组等

               (8) 括号中的最后一个字段可以不带分号

         

          例如:

               Type

                    s:string;

               case Integer of

                    1:(f1:integer;

                        f2:string[4];)

                   2,3,5:(f3:string[8]);

                end;

 

         注:变体记录与absolute的区别为,变体记录共用有效的内存而absolute只是共用首内存。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值