On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
Администратор




Пост N: 2076
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 27.09.11 10:21. Заголовок: Кодировка в TOleAuto Excel/OpenOffice


Используя этот класс в xHarbour, я для передачи значений перекодировал строки функциями типа HB_OEMTOANSI:

oCell:Value := hb_oemtoansi( c )

oCell:SetString( hb_oemtoansi( c ) )

Аналогичный класс из Harbour: contrib\hbwin судя по всему делает перекодировку автоматически:
Если строка c в кодировке 866, то надо вызывать:

oCell:Value := c

oCell:SetString( c )

и в ячейку будут занесены данные в кодировке 1251

Вопрос: как это делается в этом классе ? И можно ли отключить эту фичу ?

Пока я убрал перекодировку, но в гуевых программах получается совсем нехорошо:
Строки находятся в кодировке ansi, и, для того, чтобы записать данные в ячейку Excel, надо их перекодировать в oem, что есть совсем уж маразм

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 1 [только новые]


Администратор




Пост N: 2078
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 27.09.11 14:15. Заголовок: Вопрос снят. Как ока..


Вопрос снят.
Как оказалось, дело было в установленной кодовой странице (ru866)
TOleAuto перекодирует строки в unicode, и как раз для oem-кодировки.


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 212
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет