C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Вставка строки Unicode в OlePropertyGet  (Прочитано 1705 раз)
Sergey78
новенький


Сказали спасибо: +0/-0
Offline

Сообщений: 2


Вставка строки Unicode в OlePropertyGet
« : 23 Май 2013, 12:47:10 »

Добрый день !
Есть код

Код:
conninf = ComboBox3->Items->Strings[i];
RowNum = 3;

v3.OlePropertyGet ("Cells").OlePropertyGet ("Item", RowNum+1, Coll)
.OlePropertySet ("Value", AnsiString(conninf.c_str()));
v4 = v3.OlePropertyGet ("Cells").OlePropertyGet ("Item", RowNum+1, Coll);
v4.OlePropertyGet ("Font").OlePropertySet ("Bold", true);
v4.OlePropertyGet ("Font").OlePropertySet ("Size", 16);

conninf имеет тип юникод, при передаче  его значения в Excel, он урезается наполовину, принимая тип Ansi,так как по умолчанию OlePropertyGet принимает фонт Arial.
Прописываю после вышеуказанного кода -
Код:
  v4.OlePropertyGet ("Font").OlePropertySet ("FontName", "Arial Unicode");
Также урезает наполовину прописываемое значение и выдает UnкnownName после открытия Excel.

Подскажите пожалуйста, что я делаю не так ? Как можно указать ему Unicode ?  Среда разработки C++ Builder XE4.
Записан
S0mbre
Глобальный модератор


Сказали спасибо: +1113/-22
Offline

Сообщений: 2132

S0mbre


Re: Вставка строки Unicode в OlePropertyGet
« Ответ #1 : 23 Май 2013, 15:06:57 »

Используй одно из (что подойдет):

1) WideString("ssss")
2) L"ssss"
3) String("ssss").w_str()
Записан
Sergey78
новенький


Сказали спасибо: +0/-0
Offline

Сообщений: 2


« Ответ #2 : 23 Май 2013, 15:47:49 »

Благодарю S0mbre,  WideString помог.

Код:
v3.OlePropertyGet ("Cells").OlePropertyGet ("Item", RowNum+1, Coll)
.OlePropertySet ("Value", WideString(conninf));

Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.042 секунд. Запросов: 21.