Автор | Сообщение |
|
| постоянный участник
|
Пост N: 2315
Зарегистрирован: 12.09.06
|
|
Отправлено: 03.09.12 22:15. Заголовок: Linux (Ubunta 12.xx) + Wine + терминалка GTWVT(866)
Всем привет ! Столкнулся с большой проблемой, помогите. Под Ubunta 12.хх + Wine запускаю свою прогу (терминалка xHarbour+BCC5.5.1 GTWVT с кодировкой 866 - базы и интерфейс) Так вместо букв - кракозябы.... Что нужно настроить и как, чтобы в Ubunte появилась 866 кодировка ?
|
|
|
Ответов - 36
, стр:
1
2
All
[только новые]
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 24.10.12 11:13. Заголовок: пример Linux+Wine + harbour 2.0 GWT терминал
Ниже пример конфигурации(возможно, не единственно верный) - некая Linux+Wine + harbour 2.0 GWT терминал ( не Unicode) wine - установки среды по команде set содержит упоминания о языке // set>set.txt .... DICTIONARY=russian DISPLAY=:1038 .. LANG=ru_RU.KOI8-R ... MPAGE=-CKOI8-R .. картинка - вывод параметров терминала из приложения
|
|
|
|
| постоянный участник
|
Пост N: 2382
Зарегистрирован: 12.09.06
|
|
Отправлено: 24.10.12 14:15. Заголовок: petr707 пишет: Ниже..
petr707 пишет: цитата: | Ниже пример конфигурации(возможно, не единственно верный) - некая Linux+Wine + harbour 2.0 GWT терминал ( не Unicode) |
| А можно выложить строки исходника, где проходит инициализация терминала ? Буду очень признателен.
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 24.10.12 14:47. Заголовок: Пример кода
Пример кода ниже - ENTRY_HARB, что-то пришлось урезать, что-то осталось. В приложении - два терминала (GTWVT и GTWIN), дефолт WVT Параметры окна приложения выбираются из INI-файла. Запуск приложения - наибольший размер(подгонка под размер экрана) либо фиксированный. Скрытый текст //============================== Function ENTRY_HARB() ANNOUNCE HB_GTSYS REQUEST HB_GT_WIN REQUEST HB_GT_WVT Public GT_WVT:= .t. Public GT_WIN:= .f. REQUEST HB_CODEPAGE_RUKOI8 REQUEST HB_LANG_RU866 HB_LangSelect( "RU866" ) REQUEST HB_CODEPAGE_RU866 HB_SetCodepage( "RU866" ) HB_GtInfo(HB_GTI_CODEPAGE, 255) // oem_charset HB_SETTERMCP("RU256") GT_WVT := ( hb_gtversion() = "WVT") GT_WIN := ( hb_gtversion() = "WIN") REQUEST HB_GT_WVT_DEFAULT HB_GTInfo( HB_GTI_ICONRES, "Icon_1" ) Set_win_mode() HB_GtInfo( HB_GTI_NOTIFIERBLOCK, {|nEvent, ...| WN_Notifier( nEvent, ... ) } ) SetFileApis() return .t. Function set_win_mode() Local nW:=select() GT_WVT := ( hb_gtversion() = "WVT") GT_WIN := ( hb_gtversion() = "WIN") HB_GTINFO( HB_GTI_RESIZABLE, .f. ) HB_GTINFO( HB_GTI_CLOSABLE , .t. ) setmode(25,80) Public xFONTNAME := "fixed"//"Courier"//"Lucida Console" Public xFONTWIDTH := 8 //10 Public xFONTSIZE := 16 //20 Public xSCREENWIDTH := 640 //800 Public xSCREENHEIGHT := 400 //500 Public xSETPOS_X := -1 // := 10 Public xSETPOS_Y := -1 // := 10 def_font1 := " " if !empty(def_font1) xFONTNAME := alltrim(def_font1) endif if GT_WIN SetConsoleTitle( "A test [x]" ) hWnd := FindWindow( "A test [x]" ) DeleteCloseButton( hWnd ) SetConsoleTitle( "A" ) do case CASE !lfullscreen xFONTWIDTH := 7 xFONTSIZE := 12 /* Set font size */ hb_gtInfo( HB_GTI_FONTSIZE, xFONTSIZE ) SetMode( MaxRow() + 1, MaxCol() + 1 ) OTHERWISE //! GT_WIN xFONTWIDTH := 7 xFONTSIZE := 12 /* Set font size */ hb_gtInfo( HB_GTI_FONTWIDTH,xFONTWIDTH ) hb_gtInfo( HB_GTI_FONTSIZE, xFONTSIZE ) /* resize console window using new font size */ SetMode( MaxRow() + 1, MaxCol() + 1 ) /* get screen dimensions */ nMaxScrRow := hb_gtInfo( HB_GTI_DESKTOPROWS ) nMaxScrCol := hb_gtInfo( HB_GTI_DESKTOPCOLS ) /* resize console window to the screen size */ SetMode( nMaxScrRow, nMaxScrCol ) ENDCASE xSCREENWIDTH := 80 * xFONTWIDTH //- 50 xSCREENHEIGHT := 25 * xFONTSIZE //- 50 HB_GTINFO( HB_GTI_SCREENWIDTH , xSCREENWIDTH ) HB_GTINFO( HB_GTI_SCREENHEIGHT, xSCREENHEIGHT ) endif// GT_WIN if GT_WVT HB_GtInfo(HB_GTI_FONTNAME , xFONTNAME) ? hb_gtinfo( HB_GTI_FONTWIDTH ) // 10 ? hb_gtinfo( HB_GTI_FONTSIZE ) // 20 ? HB_GTINFO( HB_GTI_SCREENWIDTH ) // 800 ? HB_GTINFO( HB_GTI_SCREENHEIGHT ) // 500 ? " " CLS inkey(0.1) do case CASE !lfullscreen HB_GtInfo( HB_GTI_FONTNAME , xFONTNAME ) HB_GtInfo( HB_GTI_FONTWIDTH , xFONTWIDTH ) HB_GtInfo( HB_GTI_FONTSIZE , xFONTSIZE ) HB_GTINFO( HB_GTI_SCREENWIDTH , xSCREENWIDTH ) HB_GTINFO( HB_GTI_SCREENHEIGHT, xSCREENHEIGHT ) inkey(0.1) OTHERWISE ENDCASE x1GETWIN := HB_GTINFO(HB_GTI_GETWIN) xComp_id := CHARREM(" ", compname() ) xusername := ALLTRIM(username(.t.) ) xcmd_str := "" xGTWVT_INI_file := "GTWVT_"+xComp_id +"_"+xcmd_str+"_"+xusername+".INI" xGTWVT_DEF_file := "GTWVTDEF.INI" lneed_res:=.f. DO CASE CASE file(base_dir_+"\"+xGTWVT_INI_file) get_ini(base_dir_+"\"+xGTWVT_INI_file) HB_GtInfo( HB_GTI_FONTNAME , xFONTNAME ) HB_GtInfo( HB_GTI_FONTWIDTH , xFONTWIDTH ) HB_GtInfo( HB_GTI_FONTSIZE , xFONTSIZE ) HB_GTINFO( HB_GTI_SCREENWIDTH , xSCREENWIDTH ) HB_GTINFO( HB_GTI_SCREENHEIGHT, xSCREENHEIGHT ) if !(xSETPOS_X=NIL .or. xSETPOS_Y=NIL .or. xSETPOS_X<0 .or. xSETPOS_Y<0) HB_GTINFO( HB_GTI_SETPOS_XY , xSETPOS_X , xSETPOS_Y) endif if maxrow(.t.)<24 .or. maxcol()<79 messbeep(""; +"//MAXROW =" +ATN( MAXROW(.t.) )+CRLF; +"//MAXCOL =" +ATN( MAXCOL(.t.) )+CRLF; ) lneed_res:=.t. endif CASE file(base_dir_+"\"+xGTWVT_DEF_file) get_ini(base_dir_+"\"+xGTWVT_DEF_file) HB_GtInfo( HB_GTI_FONTNAME , xFONTNAME ) HB_GtInfo( HB_GTI_FONTWIDTH , xFONTWIDTH ) HB_GtInfo( HB_GTI_FONTSIZE , xFONTSIZE ) HB_GTINFO( HB_GTI_SCREENWIDTH , xSCREENWIDTH ) HB_GTINFO( HB_GTI_SCREENHEIGHT, xSCREENHEIGHT ) if !(xSETPOS_X=NIL .or. xSETPOS_Y=NIL .or. xSETPOS_X<0 .or. xSETPOS_Y<0) HB_GTINFO( HB_GTI_SETPOS_XY , xSETPOS_X , xSETPOS_Y) endif if maxrow(.t.)<24 .or. maxcol()<79 messbeep(""; +"//MAXROW =" +ATN( MAXROW(.t.) )+CRLF; +"//MAXCOL =" +ATN( MAXCOL(.t.) )+CRLF; ) lneed_res:=.t. endif OTHERWISE lneed_res:=.t. ENDCASE if lneed_res Public xFONTWIDTH := 8 //10 Public xFONTSIZE := 16 //20 Public xSCREENWIDTH := 640 //800 Public xSCREENHEIGHT := 400 //500 HB_GtInfo( HB_GTI_FONTNAME , xFONTNAME ) HB_GtInfo( HB_GTI_FONTWIDTH , xFONTWIDTH ) HB_GtInfo( HB_GTI_FONTSIZE , xFONTSIZE ) HB_GTINFO( HB_GTI_SCREENWIDTH , xSCREENWIDTH ) HB_GTINFO( HB_GTI_SCREENHEIGHT, xSCREENHEIGHT ) endif if lneed_res .or. !file( (base_dir_ +"\" + xGTWVT_INI_file) ) strfile(""; +"// MainWindow GTWVT "+CRLF; +"// "+xGTWVT_INI_file+" "+CRLF; +"xFONTNAME="+ xFONTNAME+CRLF; +"xFONTWIDTH=" +ATN(xFONTWIDTH )+CRLF; +"xFONTSIZE=" +ATN(xFONTSIZE )+CRLF; +"xSCREENWIDTH=" +ATN(xSCREENWIDTH )+CRLF; +"xSCREENHEIGHT="+ATN(xSCREENHEIGHT )+CRLF; +"//MAXROW =" +ATN( MAXROW(.t.) )+CRLF; +"//MAXCOL =" +ATN( MAXCOL(.t.) )+CRLF; +"//xSETPOS_X=" +ATN(0)+CRLF; +"//xSETPOS_Y=" +ATN(0)+CRLF; ,(base_dir_ +"\" + xGTWVT_INI_file), .f.) endif endif //GT_WVT RddSetDefault( "DBFNTX" ) SET DBFLOCKSCHEME TO DB_DBFLOCK_CLIP return .t.
|
|
|
|
|
| постоянный участник
|
Пост N: 2383
Зарегистрирован: 12.09.06
|
|
Отправлено: 24.10.12 15:10. Заголовок: petr707 пишет: HB_S..
petr707 пишет: Почему 256 ? Может 255 ? Вообще Pasha пишет: цитата: | hb_SetCodepage( "RU866" ) hb_SetTermCP( "RU1251" ) // т.е. RUWIN - для хХарбора 1.2 |
|
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 24.10.12 16:09. Заголовок: RU256
Это рабочий код, должен работать и в Windows и в Wine, пробуйте. Harbour 2.0
|
|
|
|
| постоянный участник
|
Пост N: 2385
Зарегистрирован: 12.09.06
|
|
Отправлено: 24.10.12 16:32. Заголовок: petr707 пишет: wine..
petr707 пишет: цитата: | wine - установки среды по команде set содержит упоминания о языке // set>set.txt .... DICTIONARY=russian DISPLAY=:1038 .. LANG=ru_RU.KOI8-R ... MPAGE=-CKOI8-R .. |
| А как настроить эти параметры для Wine ?
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 24.10.12 16:58. Заголовок: Wine
Вот этого не знаю, к сожалению.
|
|
|
|
| |
Пост N: 2541
Зарегистрирован: 17.05.05
|
|
Отправлено: 24.10.12 17:19. Заголовок: Andrey пишет: LANG=..
|
|
|
|
| постоянный участник
|
Пост N: 2386
Зарегистрирован: 12.09.06
|
|
Отправлено: 24.10.12 18:07. Заголовок: Dima пишет: Погугл..
Dima пишет: Спасибо БОЛЬШОЕ !
|
|
|
|
| |
Пост N: 127
Зарегистрирован: 10.07.07
|
|
Отправлено: 25.10.12 11:57. Заголовок: http://rus-linux.net..
|
|
|
|
| постоянный участник
|
Пост N: 2419
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.11.12 11:14. Заголовок: petr707 пишет: Ниже..
petr707 пишет: цитата: | Ниже пример конфигурации(возможно, не единственно верный) - некая Linux+Wine + harbour 2.0 GWT терминал ( не Unicode) |
| А можно Вас попросить дать готовый пример (маленький) с русским текстом (866) на экране программы ? Только который у вас нормально отображается по русски. Буду очень признателен. Чую что дело не в Харборе, а в настройках терминала WINE....
|
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 22.11.12 19:33. Заголовок: Попробую, только ответ завтра.
Попробую, только ответ завтра. Сейчас просто нет доступа к этой консоли.
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 23.11.12 21:30. Заголовок: Скриншот из под Wine - to Andrey
Маленький готовый пример - дать не получиться, не могу размещать произвольный ехе в работающую систему. snap_zip По ссылке - zip , где скриншот реальной терминальной задачи WVT из под WINE, и файл newdfull.fon с шрифтом Termimal, который видимо был инсталлирован только для Wine. EXE-файл - один и тот же для работы в Wine и Windows. То есть Wine был настроен под приложение , а не наоборот.
|
|
|
|
| |
Пост N: 291
Зарегистрирован: 12.11.06
|
|
Отправлено: 01.04.13 14:39. Заголовок: Так удалось ли подру..
Так удалось ли подружить терминальное приложение с wine? Решил покрутить на VM - такие же кразабяки в теринальном приложении... обычные совет скачать все шрифты в паку font для wine не помогают.
|
|
|
|
| постоянный участник
|
Пост N: 2771
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.04.13 20:52. Заголовок: AndreyZh пишет: Так..
AndreyZh пишет: цитата: | Так удалось ли подружить терминальное приложение с wine? |
| Нет, не удалось !
|
|
|
|
| |
Пост N: 292
Зарегистрирован: 12.11.06
|
|
Отправлено: 02.04.13 09:12. Заголовок: Andrey пишет: Нет, ..
Andrey пишет: Погуглив нашел только кучу Ваших потугов поспрошать, в том числе на импортных форумах... Видно эта задача, как и использование Linux в бизнесе не слишком актуально... мне проще - просто хотел покрутить wine & linux и посмотреть его пригодность для пользования
|
|
|
Ответов - 36
, стр:
1
2
All
[только новые]
|
|