Главная » Delphi » Преобразование типов для вариантов

0

Приведение к типу  Variant можно  осуществлять явно.  Так,  выражение Vari- ant(X) дает в результате вариант, тип которого соответствует результату  выражения X. Последнее должно  быть целым, вещественным, строкой, символом, денежным или булевым типом.

Можно преобразовывать тип Variant и в другие типы.  Рассмотрим такой пример:

V := 1.6;

Здесь V переменная типа Variant, а следующие выражения представляют различ

ные преобразования типов, возможные для него:

S := string(V); // S будет содержать строку ‘1.6’

I := Integer(V); // I будет равно ближайшему целому, т.е. 2.

B := Boolean(V); // B содержит False (если V равно 0) иначе – True

D := Double(V); // D получает значение 1.6

Результаты всех этих  преобразований получены в соответствии с определенными правилами приведения типов, применимых к переменным типа  Variant. Более  под робную  информацию о  преобразовании типов  можно  получить из  руководства  по Delphi  “Object Pascal Language Guide”.

Заметим, что в  предыдущем  примере  явное  приведение  типов  не  являлось  неиз

бежным.  Показанный ниже код по своим возможностям идентичен предыдущему.

V := 1.6; S := V;

I := V; B := V; D := V;

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

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии