simple type

From Lazarus wiki
Jump to navigationJump to search

A simple type is a single value which can be stored in an Identifier. Simple types are predefined by the compiler, but are not reserved words. While it is not recommended, they can be redefined.

Simple types predefined by the compiler are:

name bytes comment
boolean 1
cardinal 4
char 1 (unless you use {$mode DelphiUnicode} or {$ModeSwitch UnicodeStrings}, then it will be 2) most likely 1
int8 1 by definition
int16 2 by definition
int32 4 by definition
int64 8 by definition
integer either 2 or 4, depends on compilation mode
shortint 1 <= integer
smallint 2 <= integer
longint 4 >= integer
byte 1 by definition
word 2 by definition
dword 4 by definition
qword 8 by definition
pointer depends on target cpu bitness: on 32-bit it is 4, on 64-bit it is 8
single 4 single precision float
double 8 (if the system supports this type, otherwise it's an alias for single) double precision float
extended 10 (if the system supports this type, otherwise it's an alias for double) extended precision float
real 4 or 8 (platform dependant)
currency 8

navigation bar: data types
simple data types

boolean byte cardinal char currency double dword extended int8 int16 int32 int64 integer longint real shortint single smallint pointer qword word

complex data types

array class object record set string shortstring