Тема: DWORD to FLOAT
Показать сообщение отдельно
Старый 05.09.2006, 16:04   #9  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
В качестве 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 '';
}