Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

Что внутри Variant?   Найти похожие ветки 

 
kreyl   (2006-02-25 21:06) [0]

Есть класс, использующий для хранения параметра тип Variant (поскольку там может быть и integer, и string, и double).
И вот встал вопрос проверки введенного пользователем. То есть нужно узнать, можно ли этот variant счесть строкой, или целым, или дробным.
Стандартные функции типа VarIsType(...) не срабатывают, поскольку с их точки зрения тип варианта - неизменно varOleStr.
Не очень хочется превращать вариант в строку и разбираться, допустимые ли там символы... Есть ли еще :) варианты?
Заранее спасибо :-)


 
unknown ©   (2006-02-25 21:32) [1]

Variant - хитрая штука :-)
Используй свой "VarIsType", например :

 function vIsType(v:Variant;vType:word):Boolean;
 begin
   case  vType of
     varDouble:
       Result:=VarType(v) in [varDouble,varCurrency];
     varInteger:
       Result:=VarType(v) in [varSmallint, varInteger, varSingle,
         varShortInt,varByte,varWord,varLongWord,varInt64];
   end;
 end;



Страницы: 1 вся ветка

Текущий архив: 2006.03.12;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.285 c
1-1134166900
Destroyer
2005-12-10 01:21
2006.03.12
Удаление без восстановления


15-1140291000
kaZaNoVa
2006-02-18 22:30
2006.03.12
Обращение к VCL-контролам из потока


2-1140589417
Bratskiy
2006-02-22 09:23
2006.03.12
Почему не выводится текст?


4-1134992931
eugenemail1970
2005-12-19 14:48
2006.03.12
Как считать данные с СОМ-порта номер 10 и выше?


2-1140499747
ALIES
2006-02-21 08:29
2006.03.12
Два соединения в BDE