Здравствуйте Gluk, Вы писали:
G>Подскажите пожалуйста, а то понадобилось вывести TextOut'ом содержимое ячеек базы DAO...
COleVariant strdata; // это данные для примера
CString str; // это данные для примера
// если не уверены, что в COleVariant-е строка, то
strdata.ChangeType(VT_BSTR);
// если уверены, то ничего этого не надоif( strdata.vt == VT_BSTR )
str = strdata.bstrVal;
else
error "не смогли получить строку";
Большое спасибо конечно, но в результате выводятся правильно только числа, а вместо остальных символов одни — ????
Может как то надо конвертировать?
Заранее благодарен!
Re[3]: Как конвертировать из COleVariant в CString...
Vi2>COleVariant strdata; // это данные для примера
Vi2>CString str; // это данные для примера
Vi2>// если не уверены, что в COleVariant-е строка, то
Vi2> strdata.ChangeType(VT_BSTR);
Vi2>// если уверены, то ничего этого не надо
Vi2>if( strdata.vt == VT_BSTR )
Vi2> str = strdata.bstrVal;
Vi2>else
Vi2> error "не смогли получить строку";
Vi2>
На мой взгляд было бы лучше
USES_CONVERSION;
if( strdata.vt == VT_BSTR )
str = W2A(strdata.bstrVal);
else
error "не смогли получить строку";
Re[4]: Как конвертировать из COleVariant в CString...
Здравствуйте, Lesat, Вы писали:
L>А если нужно сделать что-то вроде вот этого: L>COleVariant val; L>CString WordToAdd; L>val.bstrVal=WordToAdd; L>ошибка — error C2440: 'type cast' : cannot convert from 'CString' to 'BSTR'
Вот так должно работать:
CString WordToAdd;
COleVariant val(WordToAdd);
или
COleVariant val;
val = WordToAdd;
Re[6]: Как конвертировать из COleVariant в CString...
Здравствуйте, algol, Вы писали:
A>Вот так должно работать: A>
A>CString WordToAdd;
A>COleVariant val(WordToAdd);
A>
A>или A>
A>COleVariant val;
A>val = WordToAdd;
A>
Ага, работает спасибо Только вот проблемка... у меня БД в аксессе... а там добавленное слово отображается в какой-то кривой кодировке(( Можно это как-нить исправить?