Delphi的数据类型主要有以下这几类:简单数据类型(Simple),字符串数据类型(String),结构数据类型(Struct),指针数据类型(pointer),函数和过程数据类型(procedural),变体数据类型(variant)等。下面我们来一一做一个介绍。
一、简单数据类型
简单数据类型分为有序数据类型(ordinal)和实数数据类型(real)两种。
1.1 有序数据类型
有序数据类型包括整数类型,字符类型,布尔类型,枚举类型和子界类型。对于学过其它语言的朋友来说,前四个并不会陌生,只是在类型的表达形式上会有不同。这里需要注意的是,对于字符类型来说一个字符在长度上并不表示一个字节,所以要返回字符串长度需要用函数(Sizeof);布尔类型除了我们熟知的Boolean外,还有ByteBool,WordBool、LongBool。它们之间的主要区别在于字节长度。
下面我主要来介绍一下子界类型。
子界类型是整型、布尔型、字符型或枚举型中某范围的值。例如
type
Thours=0..23;
TValidLetter='A'..'F';
TWorkDay=Monday..Friday;
1.2 实数数据类型
这里我只介绍开发中常用的实数类型:Double、Currency
二、字符串类型
在缺省情况下,定义字符串变量,默认创建的是AnsiString字符串类型,该类型是一个指向在堆栈中的字符串结构的指针,并是用动态分配的并有自动回收功能,且总是以null字符结束,没有长度限制,定长字符串会给一个字节来存储字符串的内存大小。ShortString是为兼容老版本而存在的,string为动态字符串数组,string[]为静态字符串数组例如:
var
Str: string;//AnsiString类型
如果长度未超过255个字符,则默认创建的是ShortString类型。例如:
var
S:string[63];//ShortString字符串类型
推荐使用+运算符来连接两个字符串,当然也可以使用Concat()方法。例如:
var
s1,s2:string;
begin
s1:='Hello';
s2:='World&