Головна

загальні поняття

  1.  F84 / Загальні розлади психологічного (психічного) розвитку.
  2.  I. Загальні положення та вимоги.
  3.  I. Загальні відомості
  4.  I. Загальні відомості
  5.  I. Загальні вимоги
  6.  II. 6.1. Визначення поняття діяльності
  7.  II. Базові поняття теорії ймовірностей

Структура даних програми на мові 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.




 Основна частина програми |  числові типи |  Строкові типи даних |  опис констант |  Опис нестандартних типів даних |  Інтервальні типи даних |  Перелічуваних типи даних |  безлічі |  масиви |  типізовані покажчики |

© 2016-2022  um.co.ua - учбові матеріали та реферати