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





Пост N: 17
Зарегистрирован: 05.02.19
ссылка на сообщение  Отправлено: 05.08.19 15:23. Заголовок: Не корректная кодировка в GUI Browse() по файлу DBF в ДОСовской кодировке: Harbiur 3.20 + hwgui.


Добрый день!
Ситуация хочу по файлу DBF в ДОСовской кодировке построить GUI BROWSE. Использую Harbiur 3.20 + hwgui.

Установленная кодировка при загрузке программы - hb_cdpSelect( "RU1251" )
Открываю файл
dbUseArea(.T.,"DBFCDX" ,'S_','S_', , , "RU866" )
Далее формирую табличный просмотр:
INIT DIALOG oDlg TITLE "Browse"
@ 10 ,10 BROWSE oBrwDb DATABASE SIZE 580, 385 ….
….
oBrwDb:alias := S_
oBrwDb:AddColumn( HColumn():New( TRS("Наименование"), {|| field->NAME } ,'C',55,0,.T. ) )
….
oDlg:Activate()
….

FUNCTION TRS( pcString )
RETURN RetVal := hb_Translate( pcString , "RU866", "RU1251" )

На экране отражаются русские символы в другой кодировке. Хотя при формировании окон, меню и сообщений функция TRS() работает корректно.

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


постоянный участник




Пост N: 2719
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.08.19 11:39. Заголовок: Aleksandr_D пишет На..


Aleksandr_D пишет
 цитата:
На экране отражаются русские символы в другой кодировке. Хотя при формировании окон, меню и сообщений функция TRS() работает корректно.


Сделайте так
1.
Установленная кодировка при загрузке программы - hb_cdpSelect( "RU866" )
Кодировка prg файла RU866, тогда
dbUseArea(.T.,"DBFCDX" ,'S_','S_')
oBrwDb:AddColumn( HColumn():New( TRS("Наименование") , {|| field->NAME } ,'C',55,0,.T. ) )
2.
Установленная кодировка при загрузке программы - hb_cdpSelect( "RU1251" )
Кодировка prg файла RU1251, тогда
dbUseArea(.T.,"DBFCDX" ,'S_','S_', , , "RU866" )
oBrwDb:AddColumn( HColumn():New( "Наименование", {|| field->NAME } ,'C',55,0,.T. ) )

кодировку будет обрабатывать hb

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6382
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.08.19 13:26. Заголовок: Всем привет. У меня ..


Всем привет.
У меня тоже беда с показом в Tsbrowse.
Кодировка базы в RU866, а экран и исходники в RU1251.
При первом показе ТСБ всё нормально, при перестроении условного индекса делаю DBCLEARINDEX()
и на экране появляются кракозябы.
Потом строится индекс и перечитываю базу:
oBrw:Reset()
oBrw:Refresh(.T.)
Становиться показ нормальный.
Это не критичная ошибка, но всё равно ОЧЕНЬ некрасиво.

Что там можно подкрутить в ТСБ ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2721
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.08.19 14:03. Заголовок: Andrey Делай на вре..


Andrey
Делай на время reindex и oBrw:rest() oBrw:Hide() для тсб,
после oBrw:Refresh(.T.)
oBrw:Show()
DO EVENTS
oBrw:SetFocus()
или
попробуй на время reindex и oBrw:lEnabled := .F. ( oBrw:Enabled(.F.) )
и потом oBrw:lEnabled := .T. ( oBrw:Enabled(.T.) )

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6383
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.08.19 17:24. Заголовок: Спасибо, попробую ! ..


Спасибо, попробую !

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 18
Зарегистрирован: 05.02.19
ссылка на сообщение  Отправлено: 09.08.19 12:25. Заголовок: Установленная кодировка при загрузке программы ...


Спасибо за ответ!
Причина такого поведения оказалась: при вызове из терминального приложения Browse GUI - не определил объект фонт.
oFont := HFont():Add( "Times New Roman",0,-18 )
oBrwDb:ofont := oFont

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

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