Читать «Учебник по Delphi 4.0» онлайн - страница 5

Unknown

Невидимые компоненты

Не каждый компонент виден на форме во время запуска программы.

Например, размещение на форме компонента MainMenu приводит к появлению в разрабатываемом приложении меню, но соответствующая пиктограмма во время запуска программы не отображается.

Компоненты, представляющие диалоговые окна общего назначения, вообще никак не визуализируются во время работы программы. Размеры невидимого компонента в процессе разработки не изменяются — он всегда отображается в виде пиктограммы.

Глава 3.Типы данных

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

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

Объявления типов в 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 тех или иных блоков дает возможность использовать эти типы в разных частях программы. Новые типы определяются из типов следующих категории.