1.Simple:
1.1.Ordinal:
Integer:
Integer 4byte
Cardinal un_4byte
Shortint 1byte
Smallint 2byte
Longint 4byte
Int64 8byte
Byte un_1byte
Word un_2byte
LongWord un_4byte
Character
Char
AnsiChar
WideChar
Boolean
Boolean
ByteBool
WordBool
LongBool
Enumerated
Subrange
1.2.Real
Real 8byte 15-16精度
*Real48 6byte 11-12精度
Single 4byte 7-8精度
Double 8byte 15-16精度
Extended 10byte 19-20精度
*Comp 8byte 19-20精度
Currency 8byte 19-20精度
2.String
*ShortString
AnsiString
WideString
PChar
PAnsiChar
PWideChar
3.Structured
Set
Array
Record
File
Class
Class reference
Interface
4.Pointer
無類型指針
有類型指針
5.Rrocedural
普通過程類型
對象過程類型
6.Variant
Variant
OleVariant
注:藍色標記表示可直接使用;*號表示向後兼容,不再使用。
數據類型解釋:
1.Ordinal有序類型:該類型的變量有序變量只能在取值范圍中取某個位置上的變量,不能越界。
Integer:基本類型是Integer和Cardinal。
Character:基本類型是Char,AnsiChar和Char處理單字節,WideChar處理多字節。
Boolean:基本類型是Boolean,ByteBool占用一個字節,WordBool占用兩個字節,LongBool占用四個字節。
Enumerated:枚舉類型定義有序值的集合,索引號從0開始。
Subrange:子界類型定義有序值的集合,但是子界的有序值必須在其他有序類型定義過,索引由父類決定。
2.Real實數類型:基本類型是Real。目前等同於double。聲明變量一般使用Double和
Single,在過程中定義可傳遞任意參數時使用Extended。
3.String字符串類型:ShortString在內存中占用0..255個字節,第0字節存儲字符串長度。為了避免浪費空間,可以使用String[MaxLength],占用MaxLength+1個字節。AnsiString是單字節存儲,WideString是兩字節存儲一個字符。PChar申明以NULL結尾的字符串指針,這個字符串的字符是Char型,相當於指向一個Char串。
4.Structured構造類型:包含多個元素或者字段。Set類型的基本類型可以是Enumerated和Subrange,所以容納的是有序值。Array分為靜態數組和動態數組,動態數組需要使用SetLength動態分配空間,並且可以使用SetLength重新分配空間,已有數據會被保留。Record是多個任意元素的集合。File類型用來讀取文件。
5.Pointer指針類型:分為有類型指針和無類型指針。占用四個字節。
6.Variant可變類型:Variant可存儲大部分不同的類型,指針類型只能使用PVariant來存儲。Variant類型變量有三種狀態:Unassigned(沒有值),Null(值為空)和非Null。默認是Unassigned狀態。