1. Простые типы
1.1. Порядковые типы
1.1.1. Целый тип
Type Range Size in bytes
Byte 0.. 255 1
Shortint -128.. 127 1
Smallint -32768.. 32767 2
Word 0.. 65535 2
Integer either smallint, longint or int64 size 2,4 or 8
Cardinal either word, longword or qword size 2,4 or 8
Longint -2147483648.. 2147483647 4
Longword 0. .4294967295 4
Int64 -9223372036854775808.. 9223372036854775807 8
QWord 0.. 18446744073709551615 8
1.1.2. Логический тип
| Name
| Size
| Ord(True)
|
| Boolean
|
|
|
| ByteBool
|
| Any nonzero value
|
| WordBool
|
| Any nonzero value
|
| LongBool
|
| Any nonzero value
|
В := True;
В := False;
В := 1<>2; { Results in B := True }
1.1.3. Символьный (char)(1 байт)
1.1.4. Перечисляемый тип
Type
Days = (monday,tuesday,wednesday,thursday,friday,saturday, sunday);
Интервальный тип
Type
WorkDays = monday .. friday;
WeekEnd = Saturday .. Sunday;
Longint = $80000000..$7fffffff;
Integer = -32768..32767;
shortint = -128..127;
byte = 0. .255;
Word = 0..65535;
1.1.5. Вещественный тип
| Type
| Range
| Significant digits
| Size
|
| Real
| platform dependant
|
| 4 or 8
|
| Single
| 1.5E-45 .. 3.4E38
| 7-8
|
|
| Double
| 5.0E-324 .. 1.7E308
| 15-16
|
|
| Extended
| 1.9E-4932.. 1.1E4932
| 19-20
|
|
| Comp
| -2E64+1 .. 2E63-1
| 19-20
|
|
| Currency
| -922337203685477.5808
| 922337203685477.5808922337
|
|
1.2. Ссылочный тип
Type BufPtr = ^Byte;
2. Структурированные типы
2.1. Строковый тип
Type S = String;
S100 = string[100];
ShortString = String[255];
Ansistrings
Widestrings
PChar
2.2. Регулярный тип (массивы)
Type
RealArray = Array [1..100] of Real;
APoints = array[1..100,1..3] of Real;
2.3. Комбинированный тип (записи)
Type
Point = Record
X,Y,Z : Real;
end;
RPoint = Record
Case Boolean of
False : (X,Y,Z : Real);
True : (R,theta,phi : Real);
end;
2.4. Множественный тип
Type
Junk = Set of Char;
Days = (Mon, Tue, Wed, Thu, Fri, Sat, Sun); WorkDays : Set of days;
2.5. Файловый тип
Type
Point = Record X,Y,Z : real; end;
PointFile = File of Point;
3. Процедурные типы