Разное
Облака / Clouds
The bast cloud service
Get 20 GB free!!!
Support WebDav.
Show more >>
time-tested cloud storage
Support WebDav.
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Определить МАС-адрес карты
Категория: Интернет и Сети
Категория: Интернет и Сети
Отступ в Memo
Категория: Компоненты
Категория: Компоненты
Пароль на ADO
Категория: Базы данных
Категория: Базы данных
Как в Memo прокрутить текст
Категория: Компоненты
Категория: Компоненты
Тpансляция ошибок в BDE
Категория: Базы данных
Категория: Базы данных
Получение выделенного текста из компонента TWebBrowser
Категория: Интернет и Сети
Категория: Интернет и Сети
Как показать balloon tooltips в программе
Категория: Приложение
Категория: Приложение
Номер строки в memo под курсором
Категория: Текст и строки
Категория: Текст и строки
Вычисление интеграла с заданной точностью алгоритмом Симпсона.
Категория: Математика
Категория: Математика
Группировка TopAdvGrid
Категория: Компоненты
Категория: Компоненты
Delphi - Справочник: Variant
Variant
|
type Variant; |
Тип (Unit System)
|
Тип переменной, который может держать изменяющиеся типы данных
|
Описание:
|
Тип данных Variant обеспечивает гибкий универсальный тип данных. Он может содержать всё, но структурированные данные и указатели. Но используйте с осторожностью, так как при использовании Variant код приобретает неясность и приобретает потенциальные ошибки при выполнении программы. Используйте VarType вместе с VarTypeMask, чтобы определить текущий типы данных, в который установлен Variant. Тип Variant полезен в очень определенных обстоятельствах, где типы данных и их содержание определяются во время выполнения, а не во времени компиляции. |
Пример кода: Иллюстрирование нескольких Variant назначений и результирующих типов данных
|
var myVar : Variant; begin // Назначение различных значений Variant // и затем показ результирующего типа Variant ShowMessage('Variant значение = not yet set'); ShowBasicVariantType(myVar); // Простое значений myVar := 123; ShowMessage('Variant значение = 123'); ShowBasicVariantType(myVar); // Вычисленное значение, используя Variant и константу myVar := myVar + 456; ShowMessage('Variant значение = 123 + 456'); ShowBasicVariantType(myVar); myVar := 'String '+IntToStr(myVar); ShowMessage('Variant значение = String 579'); ShowBasicVariantType(myVar); end; // Показ тип variant procedure TForm1.ShowBasicVariantType(varVar: Variant); var typeString : string; basicType : Integer; begin // Получение основного типа Variant : // это означает, исключение массива или косвенных модификаторов basicType := VarType(varVar) and VarTypeMask; // Установка строки для согласования типа case basicType of varEmpty : typeString := 'varEmpty'; varNull : typeString := 'varNull'; varSmallInt : typeString := 'varSmallInt'; varInteger : typeString := 'varInteger'; varSingle : typeString := 'varSingle'; varDouble : typeString := 'varDouble'; varCurrency : typeString := 'varCurrency'; varDate : typeString := 'varDate'; varOleStr : typeString := 'varOleStr'; varDispatch : typeString := 'varDispatch'; varError : typeString := 'varError'; varBoolean : typeString := 'varBoolean'; varVariant : typeString := 'varVariant'; varUnknown : typeString := 'varUnknown'; varByte : typeString := 'varByte'; varWord : typeString := 'varWord'; varLongWord : typeString := 'varLongWord'; varInt64 : typeString := 'varInt64'; varStrArg : typeString := 'varStrArg'; varString : typeString := 'varString'; varAny : typeString := 'varAny'; varTypeMask : typeString := 'varTypeMask'; end; // Показ типа Variant ShowMessage('Variant тип = '+typeString); end;
Результат:
|
Variant значение = ещё не установлено Variant тип = varEmpty Variant значение = 123 Variant тип = varByte Variant значение = 123 + 456 Variant тип = varInt64 Variant значение = String 579 Variant тип = varString |
Примечание:
|
Строки Variant не могут быть индексированы. |