«Очень важно не прерывать вопросов. Любопытство имеет свое право на существование»
15. Объявления типов
Объявление типа делается по формату:
type newTypeName = type
Область действия этого описания не включает само объявление, за исключением типа указатель. Из этого следует, что, например, нельзя объявить тип запись, полем которого будет запись того же типа (рекурсивное объявление).
Когда выполняется объявление типа, который идентичен существующему типу, новое имя становится псевдонимом (alias) старого имени. Например, после такого описания:
type TValue = Real;
var
X: Real;
Y: TValue;
X и Y имеют одинаковый тип.
Во многих случаях такой подход вполне допустим, однако в некоторых отличия между “разными именами” и “разными типами” становятся существенными. В качестве примеров можно назвать доступ к записям типизированных файлов или передачу параметров в подпрограммы. Именно в этих случаях необходимо использовать такой синтаксис описания типа:
type newTypeName = type typeidentifier
Например
type TValue = type Real;
«14. Тип Variant»
16. Переменные