Delphi基本数据类型

 

delphi的数据类型[一]

   simple简单类型
            1 ordinal 有序类型
                   (1)integer             整型
                    (2)character         字符型
                    (3)boolean           布尔类型
                   (4)enumerated      枚举类型
                   (5)subrange         子界类型
           2   real 实数型
         string   字符串
          structured 结构类型
                  1 set                              集合
                  2 array                          数组
                  3 record                         纪录
                  4 file                             文件
                  5 class                           类
                  6 class reference           类引用
                  7 interface                     接口
         poniter    指针类型
        procedure 过程类型
        variant 可变类型
 

delphi数据类型[二]

(1) 基本数据类型:
    a、 整数类型:       (通用类型<32位>:Integer-有符号;Cardinal-无符号)
          具体:
         有符号:Shortint<8位>,Smallint<16位>,Longint<32位 >
         无符号:Byte<8位>,Word<16位>,LongiWord<32位 >
   
    b、字符类型:         (通用类型<8位>:Char -与AnsiChar等同)
           具体:
            AnsiChar<8位> :主要存放Ansi字符
            WideChar<16位>:主要存放Unicode字符
    
    c、布尔类型:           (通用类型<8位>:Boolean-与ByteBool等同)
           具体:
            ByteBool<8位>,WordBool<16位>,LongBool<32位>
           不同的布尔类型主要用于鱼其它编程语言及不同windows系统兼容。
   
     d、枚举类型:
           定义:type   枚举类型标识符=(key1[=val1],.。。。,keyn[=valn])       :n<=255
           如果给某些key指定了值,则未指定值的key是前一个key值加1;
           如果全部默认不指定值,则key1值为0,往后逐个加1。
     e、子界类型:
           定义:type   子界类型标识符=下界 ..下界
           如:type    SubInt=1..3 0;表示 1~30的整数
                   type    SubChar='a'..'z';表示字符
      ※注:1、以上四种类型称为有序类型,即除第一个数为都有先行数、除最后一个数外都有后继数。在这里 
     (计算机里),整数是有限的。有序类型的数都有一个序号,称为序数。整数的序数为其本身,其他类型第一
个数序数为0,依次递增。
                  2、子界类型上、下界必须是有同一有序类型,且上界序数大于下界序数。
      
       f、浮点类型:        (通用类型<8字节>:Real-与Double等同)
           具体:
           Double<8字节>,Real48<6字节>Single<4字节>,
           Extended<10字节>,Comp<8字节>,Currency<8字节>
     g、字符串类型:      (通用类型:String-与AnsiString等同)
           具体:
           ShortString :最多存放255个字符,第一个自己存放字符个数,不以NULL结尾
           AnsiString :存放Ansi字符,以NULL结尾
          WideString:存放Unicode字符,以NULL结尾
    
     h、时间、日期类型:TDateTime -实际是浮点类型的别称
(2)复杂数据类型:
   a、指针类型:
         定义:type 指针类型标识符=^基本类型;
         内在分配:New()         内存释放:Destroy()
         对于Pointer 和PChar   用GetMem()或AllocMem()分配内存,用FreeMem()释放内存
         分配内存后,就可以当成基本类型一样使用:指针类型标识符^
         实际上常如下运用指针:           
         var     变量标识符:^基本类型;
         为变量分配内存后就可以将(变量标识符^)当成普通变量使用。
   b、记录类型:
         定义:type    记录类型标识符=Record
                               字段1:类型;
                                ...
                                字段n:类型;
                     end;
   c、集合类型:
          定义: type 集合类型标识符=Set of   基本类型的子集或子界类型;(<=255个元素)
   d、变体(通用)类型: Variant;
(3)数组类型:
     a、一维数组:
           定义:type   数组标识符=Array[下标下限..下标上限] of 基本类型;
     b、多位数组:
           定义: type   数组标识符=Array[下限1..上限1,...,下限n..上限n] of   基本类型;
    c、动态数组(变量):
          var   标识符:array of 基本类型;
          SetLength(标识符,个数);//分配空间
          标识符:=nil;//释放
 

Delphi基本数据类型[三]

Delphi中的基本数据类型包括整型、实型、字符型、布尔型、枚举型和子界型。前4种都是Pascal预先定义好的不需要用户再进行实义的类型,后两种为用户自定义类型。除了实型,其它均为有序类型。

1.整型类型
    Pascal中将整数类型分为基本的(Fundamental)和一般的(Generic)整数类型。取值范围如下所示。

    
基本整数类型数据

       

   一般
整数类型数据 
    

    当实际的取值大于所定义的类型时会出现溢出现象,取值范围越大的类型它对程序的开销也是越大的。在编写程序时,应当根据取值范围灵活的选择不同的定义方式,这样既可以节省程序开销,也可以提高程序的运行效率。
    
顺序类型中包括以下几个标准函数:
    · Ord()
:取得序数类型的惟一对应值。
    · Pred()
:取得前续的数值。
    · Succ()
:取得后续的数值。
    · Low()
:返回可取值的最小一个。
    · High()
:返回可取值的最大一个。

2.字符类型
    Delphi 7
中有3种字符类型。字符类型也属于顺序类型,顺序类型标准函数的使用可参照整数类型。    

    

    示例:


procedure TForm1.Button1Click(Sender: Tobject);
var
    my:char;
begin
    my:='C';
    edit1.Text:=inttostr(ord(my)); 
    edit2.Text:=Pred(my); 
    edit3.Text:=Succ(my); 
end;

3.布尔类型
    布尔类型有4种,分别为BooleanByteBoolWordBoolLongBool,其中后3种是Delphi为兼容其它语言和Windows环境而设置的,在进行编程时应优先选择使用Boolean类型。布尔类型也属于顺序类型,取值范围为0(False)1(True)。这4种类型中BooleanByteBool存储格式为8位,WordBool16位,LongBool32位。

4.枚举类型
    
枚举类型通过枚举表示其值的标识符来定义一个有序集合。它们的次序根据标识符的位置而定。有效地使用枚举类型,可以使程序表示的内容更加直观。枚举类型是用户自定义类型,定义语法如下:

Type
枚举类型名称= (1,值2...n);

    枚举类型中的取值是用户自定义的标识符,它们应遵循标识符的命名规则。在括号内的标识符列表中,每个标识符只能出现一次。在程序中使用枚举类型还必须声明一个枚举类型变量,如:

Var
    变量名:枚举类型名称;

    
也可以不预先用Type定义枚举类型而直接使用下面的方式定义枚举类型变量:

Var
    变量名: (1, 2...n);

5.子界类型
    
子界类型也是一种用户自定义类型。它规定了值的上界和下界及取值的类型。定义子界类型的语法如下:

Type
    子界类型名称=值域下界..值域上界;     //在上界和下界之间有两个.
    
Var
    变量名:值域上界..值域下界;    //直接将变量定义为子界类型

    
定义子界类型时所使用的上界与下界可以是常量,也可以是常量表达式。子界类型的使用与枚举类型相同。建议使用子界类型时最好把类型定义与变量声明分开,这样可以使程序更清晰一些。

    
注意:子界类型的上界与下界必须是顺序类型,也必须为同一顺序类型。

6.实数类型

实数类型定义了一个用浮点数表示的数字的集合。实数类型是无序的。



7.集合类型
    
集合类型是多个具有相同类型无素的集合。集合中的元素是无序的,另外集合中的元素不能出现重复。声明方法为:

    Type

        集合内型名=set of 集合元素类型;
    例如:
    Type
        Numebers=set of Byte;

    集合类型的使用与枚举类型相同,在使用时首先要声明一个集合类型变量。

posted @ 2012-08-30 02:46  cracksa  阅读(1466)  评论(0编辑  收藏  举报
Top Buttom