Все переменные и константы, используемые в программе, всегда принадлежат какому-либо типу. Вызов функции также возвращает значение определенного типа.
Типы данных языка Object Pascal можно разбить на следующие группы:
В язык Object Pascal включены следующие базовые типы данных:
Целочисленные типы
| Integer | -2147483648..2147483647 | signed 32-bit |
| Cardinal | 0..4294967295 | unsigned 32-bit |
| Shortint | -128..127 | signed 8-bit |
| Smallint | -32768..32767 | signed 16-bit |
| Longint | -2147483648..2147483647 | signed 32-bit |
| Int64 | -263..263-1 | signed 64-bit |
| Byte | 0..255 | unsigned 8-bit |
| Word | 0..65535 | unsigned 16-bit |
| Longword | 0..4294967295 | unsigned 32-bit |
Действительные типы
| Real | 5.0 * 10-324 .. 1.7 * 10308 | 8 |
| Real48 | 2.9 * 10-39 .. 1.7 * 1038 | 6 |
| Single | 1.5 * 10-45 .. 3.4 * 1038 | 4 |
| Double | 5.0 * 10-324 .. 1.7 * 10308 | 8 |
| Extended | 3.6 * 10-4951 .. 1.1 * 104932 | 10 |
| Comp | -263+1 .. 263 -1 | 8 |
| Currency | -922337203685477.5808.. 922337203685477.5807 | 8 |
Для указания значения действительного типа можно использовать экспоненциальный формат (например, значение 1.3Е-5 эквивалентно 1.3*10-5).
Логические типы
| Boolean | True или False | 1 |
| ByteBool | True или False | 1 |
| WordBool | True или False | 2 |
| LongBool | True или False | 4 |
Символьные типы
| Char | ANSI-символ | 1 |
| AnsiChar | ANSI-символ | 1 |
| WideChar | Unicode-символ | 2 |
Строковые типы
| string | Определяется директивой компилятора $H | |
| ShortString | 255 символов | От 2 до 256 байт |
| AnsiString (длинная строка) | ~231 символов | От 4 байт до 2 Гбайт |
| WideString (Символы Unicode) | ~230 символов | От 4 байт до 2 Гбайт |