Преобразуване на типа за варианти

Прехвърлянето към тип Variant може да се извърши изрично. Например, изразът Variant(X) води до вариант, чийто тип съвпада с резултата от израза X. Последният трябва да бъде цяло число, реално число, низ, символ, валута или булево.

Можете да конвертирате тип вариант и в други типове. Помислете за този пример:

Тук V е променлива от тип Variant, а следните изрази представляват различни

възможни преобразувания на типове за него:

S := низ (V); // S ще съдържа низа '1.6'

I := Цяло число(V); // Ще бъда равен на най-близкото цяло число, т.е. 2.

B := Boolean(V); // B съдържа False (ако V е 0), в противен случай True

D := Double(V); // D е зададен на 1,6

Резултатите от всички тези преобразувания се получават в съответствие с определени правила за преобразуване на типове, които се прилагат за променливи от типа Variant. За повече информация относно преобразуването на типове вижте ръководството на Delphi "Object Pascal Language Guide".

Обърнете внимание, че в предишния пример явното преобразуване на типове не беше неизбежно.

беглец. Кодът, показан по-долу, е идентичен по своите възможности с предишния.

В този пример преобразуването на типа става имплицитно. Въпреки това, поради факта, че се извършва директно по време на изпълнение на програмата, съответният допълнителен код е включен в състава на последната. Кой метод предпочитате зависи от вас. Ако действителният тип данни на варианта е известен по време на компилиране, по-добре е да се използва изрично преобразуване на типа, което е по-ефективно (защото се извършва по време на компилиране). Тази забележка е особено вярна в случаите, когато вариантът се използва в изрази, които ще бъдат разгледани по-долу.

Източник: Тейшейра, Стив, Пачеко, Ксавие.Borland Delphi 6. Ръководство за разработчици. : пер. от английски. - М .: Издателство "Уилямс", 2002. - 1120 с. : аз ще. — Паралелно. синигер. английски