classification range byte Remark
Simple type Ordinal Integer Integer -2147483648: 2147483647 4 Signed 32-bit
Cardinal 0: 4294967295 4 Unsigned 32-bit
Shortint -128: 127 1 Signed 8-bit
Smallint -32768: 32767 2 Signed 16-bit
Longint -2147483648: 2147483647 4 Signed 32-bit
Int64 -2 63: 2 63 8 Signed 64-bit
Byte 0: 255 1 Unsigned 8-bit
Word 0: 65535 2 Unsigned 16-bit
Longword 0: 4294967295 4 Unsigned 32-bit
character AnsiChar (Char) ANSI character set 8-bit
WideChar Unicode character set 16-bit
Bull Boolean False <True
Ord (False) = 0
Ord (True) = 1
Succ (False) = True
Pred (True) = False
1
ByteBool False <> True
Ord (False) = 0
Ord (True) <> 0
Succ (False) = True
Pred (False) = True
1
WordBool 2
LongBool 4
enumerate
Sub-world
Real number Real 5.0 × 10 -324: 1.7 × 10 308 8 [Precision] 15..16
Real48 2.9 × 10 -39: 1.7 × 10 38 6 [Precision] 11..12;
backward compatible
Single 1.5 × 10 -45: 3.4 × 10 38 4 [Precision] 7..8
Double 5.0 × 10 -324: 1.7 × 10 308 8 [Precision] 15..16
Extended 3.6 × 10 -4951: 1.1 × 10 4932 10 [Precision] 19..20
Comp -2 63 is + 1 .. 2 63 is – 1 8 [Precision] 19..20
Currency -922337203685477.5808:
922337203685477.5807
8 [Precision] 19..20
String ShortString 255 characters 2..256B Backwards compatible
AnsiString About 2 31 characters 4B: 2GB 8-bit (ANSI) characters
WideString About 2 30 characters 4B: 2GB Multi-user service and
multi-language application;
compatible with BSTR defined by com
other String
String [0..255]
PChar
PAnsiString
PWideString
structure type set Set Up to 256 elements [0..255]
Array Static array
Dynamic array
recording Record
file File
class Class
Class reference Class reference
interface Interface
Pointer type Untyped pointer Pointer
Typed pointer Predefined type pointer PAnsiString
PString
PByteArray
PCurrency
PDouble
PExtended
PSingle
PInteger
POleVariant
PShortString
PTextBuf
PVarRec
PVariant
PWideString
PWordArray
Process type Program process type Procedural
Object procedure type Procedural
Variation type Variant
OleVariant