|
|
|
|
#1 |
|
Участник
|
Цитата:
Сообщение от Владимир Максимов
Посмотри класс COMVariant. У него есть свойство Float.
Чтобы сказать что-то более определенное надо знать как получаешь и как передаешь значение COMVariant спас спасибо! |
|
|
|
|
#2 |
|
Участник
|
Код: COMVariant f = new COMVariant(COMVariantInOut::In, COMVariantType::VT_R4);
;
f.long(b.dWord(0));
axValue = f.float(); |
|
|
|
|
#3 |
|
Moderator
|
В качестве P.S. До кучи в коллекцию. В классе ССADOField метод value содержит шикарный шаблон switch почти на все случаи жизни.
Правда, конкретно Ваш float (VT_R4) упрятан в double, но подправить недолго. Код: anytype value()
{
COMVariant value;
value = field.value();
switch (value.variantType())
{
case COMVariantType::VT_I2:
return value.byte();
case COMVariantType::VT_I4:
return value.int();
case COMVariantType::VT_R4, COMVariantType::VT_R8:
return value.double();
case COMVariantType::VT_CY:
return value.currency();
case COMVariantType::VT_DATE:
return value.date();
case COMVariantType::VT_BSTR:
return value.bStr();
case COMVariantType::VT_BOOL:
return value.boolean();
case COMVariantType::VT_DECIMAL:
return value.decimal();
case COMVariantType::VT_I1:
return value.byte();
case COMVariantType::VT_UI1:
return value.uInt();
case COMVariantType::VT_UI2:
return value.uShort();
case COMVariantType::VT_UI4:
return value.uLong();
}
return '';
} |
|
|
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Внешнее приложение | 2 | |||
| Базовые типы С++ | 5 | |||
| ChangeDisplaySettings | 6 | |||
| WinAPI. Ссылка (POINT) третьего уровня вложенности | 2 | |||
| обертка к WinAPI PrintDlg | 12 | |||
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|