Учебник по Delphi 4.0 | страница 6



Объявления типов в Pascal являются для компилятора чем-то вроде схем, которые он должен запомнить на случай, если вдруг встретит в программе ссылки на тот или иной тип. Само по себе объявление типа не вносит в программу никаких изменений.

Что же касается объявлений var, то они задают компилятору некоторые действия, связанные с ранее объявленными типами. Тип переменной ограничивает как ее значения, так и операции, которые можно выполнять с этими значениями.

Определения типов и переменных могут размещаться в нескольких местах компонентов программы. Выглядят же они следующим образом.

type

type1 = type definition; //Новые типы данных определяются в разделе //«type».

//Каждому новому

// типу присваивается имя, затем он определяется через уже

//существующие типы.

type2 = typedefinition2; // В одном разделе «type» можно

//объявить несколько типов.

//Самое простое определение типа состоит из имени типа,

type3 = type1; // определенного ранее.

// Новые переменные объявляются в

var // разделе «var». Каждой новой

var1: type definitions; // переменной сначала присваивается имя, а затем — тип (на основе

// ранее определенных типов).

var2, var3: type definition4; // В одном разделе «var» можно объявить несколько переменных.

// Нескольким переменным можно присваивать один и тот же тип.

var4: type1; // Программу легче читать, если переменным присвоены

//существующие типы.

Синтаксис Object Pascal позволяет одновременно конструировать исключительно сложные типы и определение переменных. Однако определение типов в разделах type тех или иных блоков дает возможность использовать эти типы в разных частях программы. Новые типы определяются из типов следующих категории.


Простые типы для хранения информации в форме чисел и других «упорядоченных» значении.

Строковые типы для хранения последовательностей символов.

Структурные типы для одновременного хранения информации разных типов.

Указательные типы для косвенного обращения к переменным заданных типов.

Процедурные типы для обращения к процедурам и функциям, рассматриваемым как переменные.

Вариантные типы для хранения в одной переменной данных различных типов.


Обычно идентификаторы типов используются только при определении новых типов или объявлении переменных. Есть, однако, несколько функций, в которых имя типа может использоваться как часть выполняемого оператора. Например, функция SizeOf (Т) возвращает количество байтов, занимаемых переменной Т.

Функция SizeOf очень важна для написания эффективных программ. Многие из определенных в Object Pascal типов имеют очень сложную структуру и могут занимать в памяти довольно много места. При этом элементы таких типов созданы скорее для представления значений в некотором логическом порядке, а не для того, чтобы занимать место в памяти. Функция SizeOf избавляет программиста от необходимости вычислять объем данных в подобных случаях.