Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Общие понятия. Структура данных программы на языке Pascal (то есть переменные) описывается в одном месте каждого модуля — в разделе описания переменных



Структура данных программы на языке Pascal (то есть переменные) описывается в одном месте каждого модуля — в разделе описания переменных. Данный раздел начинается ключевым словом Var и специально предназначен для этого. Таким образом, переменные не могут быть введены во время выполнения программы. Еще одна существенная особенность представления информации в Pascal — это назначение типа переменной на этапе компиляции.

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

В Delphi введена поддержка переменных, которые не имеют конкретного типа данных на этапе компиляции, а в процессе выполнения программы могут хранить данные разных типов. Такие переменные называются вариантными (англ. Variant — вариантный, различный) и описываются по обычным правилам с указанием в качестве типа данных ключевого слова Variant:

Var

<Название переменной>: Variant;

Во время выполнения программы в вариантных переменных могут храниться данные любого типа, за исключением структурных (записей и статических массивов) и ссылочных (типизированные и нетипизированные указатели, метаклассы и указатели на экземпляры классов). Также в вариантных переменных не могут находиться значения множественных типов данных. Неинициализированной переменной автоматически присваивается специальная константа UnAssigned, описанная в модуле Variants.

Для хранения одних и тех же данных вариантным переменным потребуется больше места в памяти, чем типизированным переменным. Кроме того, операции над вариантными переменными выполняются несколько дольше. Поэтому применение вариантов оправдано только в тех случаях, когда невозможно обойтись обычными переменными.

Обращение к вариантным переменным

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

Это может вызывать ошибки времени выполнения программы. Причем такие ошибки носят динамический характер, могут проявляться редко и при трудно определяемых условиях, что еще больше усугубляется оптимизатором компиляции Delphi и автоматическим приведением типов вариантных данных. Рассмотрим пример описания вариантной переменной и ее использования в программе (см. листинг 2.11).

Листинг 2.11. Пример описания и использования вариантной переменной

Program UsingVariants1;

Var

V: Variant; {Описание вариантной переменной, тип переменной не

определен}

S: String; {Описание переменной типа String}

Begin

V:= 250; {Присвоение значения вариантной переменной V,

переменной назначается целочисленный тип данных}

V:= 'It is a STRING'; {Присвоение значения вариантной

переменной V, переменной назначается строковый тип

данных}

S:= V; {Строковой переменной присваивается строковое

Значение вариантной переменной}

End.





Дата публикования: 2014-11-02; Прочитано: 364 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...