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



Пост N: 29
Зарегистрирован: 25.10.13
ссылка на сообщение  Отправлено: 05.11.13 02:03. Заголовок: hwgui BROWSE русские символы


Никак не могу добиться правильного отображения русских букв для базы с DOS-кодировкой
Делаю всё как пишут на форуме. Изучил пример из hwgui dbc
Ну вроде всё делаю как указано... Ан-нет отображаются крокозябры.
(А если эту же базу открыть в dbchw с кодовой страницей RU866, то все ОК)
Помогите!!

Делаю так:

REQUEST HB_CODEPAGE_RU1251
REQUEST HB_CODEPAGE_RU866
..
function Main()
PUBLIC cAppCpage := "RU1251", cDataCpage := "RU866"

hb_cdpSelect(cAppCpage)
..
return

function BrowseTest()
..
dbUseArea(,,cDBFname,cAlias,lShared,lRdOnly,cDataCpage)
...
потом BROWSE
return

Пробовал разные варианты ( когда и cAppCpage и cDataCpage == RU866, и др...) - ну всё-равно крокозябры.

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





Пост N: 978
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 05.11.13 09:25. Заголовок: Вот рабочий пример ..


Вот рабочий пример
 
#include "hwgui.ch"

REQUEST HB_CODEPAGE_RU866
REQUEST HB_CODEPAGE_RU1251

FUNC Main()
local fnt_brw
hb_cdpSelect( "RU1251" )
USE your_baza_866 codepage "RU866"
INIT dialog odlg title "проверка" at 0, 0 size 700, 450 font fnt_brw

@010, 010 browse brw1 database size 600, 300
@010, 350 ownerbutton bt_cp size 50, 24 TEXT "cp" ;
ON click {|| iif( hb_cdpSelect() = "RU1251", hb_cdpSelect( "RU866" ), hb_cdpSelect( "RU1251" ) ), brw1:Refresh() } ;
tooltip "click to change cp"
hwg_createlist( brw1 )
odlg:activate()
dbCloseAll()

RETURN NIL


и не бойтесь создавать самодостаточных примеров, чтобы не гадать, что не правильно.

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



Пост N: 30
Зарегистрирован: 25.10.13
ссылка на сообщение  Отправлено: 05.11.13 11:14. Заголовок: AlexMyr Спасибо. Ва..


AlexMyr
Спасибо. Ваш пример конечно рабочий. Я тоже так всё делаю и благодаря примеру понял что ищу не там...
Проблема оказалась в следующем:
    если не использую ADS - всё показывается правильно.
    Как только выполнил rddSetDefault("ADSNTX") - крокозябры.
    Закомментарил эту комманду или заменил на rddSetDefault("DBFNTX") - опять нормально.

Сможете подсказать как бороться ?

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




Пост N: 3691
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 05.11.13 11:44. Заголовок: vladru Попробуй Ads..


vladru
Попробуй AdsSetCharType(2, .t.)

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



Пост N: 31
Зарегистрирован: 25.10.13
ссылка на сообщение  Отправлено: 05.11.13 11:48. Заголовок: Dima не помогло - к..


Dima
сначала не помогло - крокозябры

Но заработало когда указал AdsSetCharType(2, .F.)

Об этой функции в ads.hlp ни слова. Сам бы долго копал... Спасибо.

А еще я посмотрел супер-пример hwgui/utils/dbc для ADS - там вместо вызова этой функции делается
SET CHARTYPE TO OEM
Проверил у себя - так тоже работает.


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

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