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;//释放

 

 

二、语句
   首先要说一下begin   ...   end; 相当于c或者c++中的{   ...   }。
   (1)声明语句
       常量:const     常量标识符[:类型]=常值;
       变量:var         变量标识符:数据类型;

   (2)表达式语句
       由运算符组成的合法语句
       运算符优先级:               运算符                                                  优先级
                                             @         not                                                  1                       (最高)
                                     *,/,div,mod,and,shl,shr,as,                                   2
                                            +,-,or,xor                                                    3
                                   >,<,>=,<=,<>,=,in,is,                                           4                       (最低)

   (3) with   ...   do    ... end   语句
      主要在操作记录类型或组件时使用。
      示例:type people=Record                   //定义记录people
                               name:string;
                               addr:string;
                               age:integer;
                               sex:string;
                      end;
           var   Me:People;                  //定义people型的变量
           with Me do
           begin
                name:='Paul';
                addr:='Guangzhou';
                age:=23;
                sex:='male';
           end;

(4)goto 语句
     现在所有声音都是说要减少goto语句是使用,所以尽量少用为是。
     示例:
          Label   MyLabel;                       //用Label保留字声明MyLabel

          MyLabel:                              //标记
                          、、、                   //其它语句
                         goto MyLabel;      //跳转到MyLabel 处

(5)条件语句
    a、if ...   then ... 语句
         if    布尔表达式 then   ..;
   或 if    布尔表达式 then
         begin
           ...
         end;
        其它格式:
        if ...   then...     else ...;
        if ...   then ..     else if ... then ...   else ...;

   b、case   ...   of      语句
         case    表达式   of
                值1:...
                值2:...
                 ...
                值n:...
         end;

6)循环语句
   a、for ...   to ... do 语句
        for 循环变量:=初值 to   终值 do   ...;
或   for 循环变量:=初值 to   终值 do
       begin
          。。。
       end;

   b、while   ...   do 语句
        while   布尔表达式   do ...;
或 while   布尔表达式   do
       begin
         ...
       end;

c、repeat ... until   语句
       repeat    ...    until    布尔表达式;

(7)循环的中断
     break: 循环结束
     continue:结束本次循环
     goto:(略)
     exit:退出当前函数或过程
     halt():终止整个程序,参数为整数
     RunError():(略)


三、过程与函数
(1) 过程(无返回值)
      声明: procedure      <过程名> (<参数列表>);

(2)函数(有返回值)
     声明:   function         <函数名> (<参数列表>):返回值类型;
     用Result 或 <函数名>返回函数值;
     即在函数中用   Result:=函数值;或 <函数名>:=函数值;返回;

二、语句
   首先要说一下begin   ...   end; 相当于c或者c++中的{   ...   }。
   (1)声明语句
       常量:const     常量标识符[:类型]=常值;
       变量:var         变量标识符:数据类型;

   (2)表达式语句
       由运算符组成的合法语句
       运算符优先级:               运算符                                                  优先级
                                             @         not                                                  1                       (最高)
                                     *,/,div,mod,and,shl,shr,as,                                   2
                                            +,-,or,xor                                                    3
                                   >,<,>=,<=,<>,=,in,is,                                           4                       (最低)

   (3) with   ...   do    ... end   语句
      主要在操作记录类型或组件时使用。
      示例:type people=Record                   //定义记录people
                               name:string;
                               addr:string;
                               age:integer;
                               sex:string;
                      end;
           var   Me:People;                  //定义people型的变量
           with Me do
           begin
                name:='Paul';
                addr:='Guangzhou';
                age:=23;
                sex:='male';
           end;

(4)goto 语句
     现在所有声音都是说要减少goto语句是使用,所以尽量少用为是。
     示例:
          Label   MyLabel;                       //用Label保留字声明MyLabel

          MyLabel:                              //标记
                          、、、                   //其它语句
                         goto MyLabel;      //跳转到MyLabel 处

(5)条件语句
    a、if ...   then ... 语句
         if    布尔表达式 then   ..;
   或 if    布尔表达式 then
         begin
           ...
         end;
        其它格式:
        if ...   then...     else ...;
        if ...   then ..     else if ... then ...   else ...;

   b、case   ...   of      语句
         case    表达式   of
                值1:...
                值2:...
                 ...
                值n:...
         end;

6)循环语句
   a、for ...   to ... do 语句
        for 循环变量:=初值 to   终值 do   ...;
或   for 循环变量:=初值 to   终值 do
       begin
          。。。
       end;

   b、while   ...   do 语句
        while   布尔表达式   do ...;
或 while   布尔表达式   do
       begin
         ...
       end;

c、repeat ... until   语句
       repeat    ...    until    布尔表达式;

(7)循环的中断
     break: 循环结束
     continue:结束本次循环
     goto:(略)
     exit:退出当前函数或过程
     halt():终止整个程序,参数为整数
     RunError():(略)


三、过程与函数
(1) 过程(无返回值)
      声明: procedure      <过程名> (<参数列表>);

(2)函数(有返回值)
     声明:   function         <函数名> (<参数列表>):返回值类型;
     用Result 或 <函数名>返回函数值;
     即在函数中用   Result:=函数值;或 <函数名>:=函数值;返回;

你可能感兴趣的:(Delphi)