Автор | Сообщение |
|
| |
Пост N: 58
Зарегистрирован: 31.05.07
|
|
Отправлено: 12.03.10 09:02. Заголовок: CODEPAGE
Хочу переходить с xHarbour на Harbour из последних сборок, но столкнулся с тем, что некоторый код не могу перевести, поскольку не пойму, как подключить кириллическую кодовую страницу. Конструкция: REQUEST HB_CODEPAGE_RU866 hb_setCodePage('RU866') не работает... подскажите пожалуйста...
|
|
|
Ответов - 49
, стр:
1
2
3
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 4171
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.05.15 15:47. Заголовок: Dima пишет: На выхо..
Dima пишет: цитата: | На выходе получим TEST.TXT |
| Вспомнил, примеры в Клипере 5.3 были такие...
|
|
|
|
| |
Пост N: 92
Зарегистрирован: 09.09.11
|
|
Отправлено: 28.12.16 06:13. Заголовок: С наступающим Новым ..
С наступающим Новым Годом! Здоровья и всех благ... Программа на xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6476) Требуется обработать файлы, имена которых в кириллице, функция FILE() возвращает .F., работает ли FILE() с кириллицей в имени файла? Переименовать файлы нет возможности.... Пробовал функцией SETFILEAPIS() - имена на экран вышли в кириллице... Что делать дальше???
|
|
|
|
| |
Пост N: 93
Зарегистрирован: 09.09.11
|
|
Отправлено: 28.12.16 09:29. Заголовок: Спасибо, доработал б..
Спасибо, доработал блок формирования имени файла, FILE() возвращает .T. с кириллицей в имени файла...
|
|
|
|
| moderator
|
Пост N: 1057
Зарегистрирован: 06.07.06
|
|
Отправлено: 28.12.16 09:32. Заголовок: И вас с наступающим!..
И вас с наступающим! Не знаю, как в xHarbour, а в Harbour File() правильно отрабатывает, если REQUEST HB_CODEPAGE_..., hb_setCodePage(...) указывают на ту кодовую страницу, в которой написана программа. Попробуйте разные варианты, включая изменение кодовой страницы текста программы.
|
|
|
|
| |
Пост N: 94
Зарегистрирован: 09.09.11
|
|
Отправлено: 30.12.16 08:43. Заголовок: Добрый день, EXCEL20..
Добрый день, EXCEL2010 открывает файл, имя которого содержит кириллицу и пробелы, а EXCEL2016 падает Excel.Application:WORKBOOKS/14 DISP_E_BADPARAMCOUNT: OPEN открываю с помощью WorkBooks:Open() Решил проблему по схеме: - копирую файл с кириллицей и пробелами в имени в рабочий каталог с фиксированным именем (например TEMP_EXCEL) - открываю Excel (2010/2016) TEMP_EXCEL - обработка - удаление TEMP_EXCEL
|
|
|
|
| |
Пост N: 1064
Зарегистрирован: 20.02.11
|
|
Отправлено: 30.12.16 09:04. Заголовок: Oskar_AAA пишет: DI..
Oskar_AAA пишет: Скорее что-то не так в пути к файлу раз простое копирование решает проблему. Тоже открываю кириллицу и пробелы экселями 07—16 и все нормально.
|
|
|
|
| Администратор
|
Пост N: 3520
Зарегистрирован: 23.05.05
|
|
Отправлено: 30.12.16 10:00. Заголовок: Для неуникодных прог..
Для неуникодных программ (а xharbour именно такой) существенной является кодировка, в которой представлено имя файла. Если сделан вызов SetFileApis (которая вызывает SetFileApisToOEM()), то windows работает с именами в кодировке OEM, т.е. cp866. Для excel же надо обязательно передавать имя документа в кодировке cp1251. Хотя все равно непонятно различное поведение разных версий excel.
|
|
|
|
| |
Пост N: 95
Зарегистрирован: 09.09.11
|
|
Отправлено: 30.12.16 10:17. Заголовок: С наступающим Новым ..
С наступающим Новым Годом, друзья. Вот и я хочу понять "Кто is Who?" Excel2010 без проблем открывает, а 2016 выносит мозги... Пока оставил по схеме см.пост выше, но интерес остался, для кругозора...
|
|
|
|
| |
Пост N: 96
Зарегистрирован: 09.09.11
|
|
Отправлено: 30.12.16 10:44. Заголовок: + файл источник копи..
+ файл источник копируется в файл TEMP_EXCEL.xls в том же каталоге, что файл источник.... Так, что в пути к файлу ничего не меняется... фрагмент кода: Lsmet_File3=Mar5+Alltrim(Name_Lsmet3)+'.XLS' ?Lsmet_File3,File(Lsmet_File3) wait If File(Lsmet_File3)==.T. cFileXls_Exl:=Mar5+'BALABA.XLS' Copy File &Lsmet_File3 To &cFileXls_Exl oExcel_S :=ToleAuto():New("Excel.Application") oExcel_S :Workbooks:Open(cFileXls_Exl) oExcel_S :Set("DisplayAlerts",.F.) oExcel_S :Visible :=.F. oBook_S :=oExcel_S:ActiveWorkBook oAs_S :=oExcel_S:ActiveSheet() oRange_S :=oExcel_S:ActiveCell:SpecialCells(xlLastCell) cRecno_S :=oRange_S:Row cColumn_S :=oRange_S:Column ......
|
|
|
Ответов - 49
, стр:
1
2
3
All
[только новые]
|
|