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



Пост N: 40
Зарегистрирован: 22.04.15
ссылка на сообщение  Отправлено: 29.08.19 05:19. Заголовок: IDE8


Можете на простом примере показать:
1. На примере TEXTBOX вводились символы UTF8
2. На примере LABEL - соответственно выводились

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 125 , стр: 1 2 3 4 5 6 7 All [только новые]


moderator


Пост N: 1369
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 04.09.19 18:52. Заголовок: ММК пишет: Если дел..


ММК пишет:

 цитата:
Если делается не разовое латание дыр, не курсавая то используйте FiveWin.


Вообще-то, вы только-что сказали, что продукт труда большинства здесь присутствующих - это уровень "курсавых". Хочется надеяться, что это оговорка сгоряча, в пылу спора, но все же надо как-то следить за языком.

Если по сути, Fivewin, безусловно, солидный продукт с уже более чем 25-летней историей, и набор функций его Windows-версии, несомненно, выше, чем у всех других Harbour GUI-библиотек. Но окошки и "контролы" он делает те же самые и качество конечных приложений зависит не от используемого GUI, а от разработчика.

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





Пост N: 277
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 28.11.20 12:50. Заголовок: SergKis пишет: ..


SergKis пишет:

 цитата:
DEFINE FONT Arial FONTNAME App.FontName SIZE App.FontSize CHARSET 186 // BALTIC_CHARSET
DEFINE FONT ArialBold FONTNAME App.FontName SIZE App.FontSize BOLD CHARSET 186 // BALTIC_CHARSET
DEFINE FONT ArialRu FONTNAME App.FontName SIZE App.FontSize CHARSET 204 // RUSSIUN_CHARSET
DEFINE FONT ArialRuBold FONTNAME App.FontName SIZE App.FontSize BOLD CHARSET 204 // RUSSIUN_CHARSET
...
@ 10,10 TEXTBOX text_1 HEIGHT 24 WIDTH 200 ;
FONT 'ArialRu' SIZE 10 MAXLENGTH 30 ;
ON CHANGE ( This.label_1.Value := This.Value )

@ 40,10 LABEL label_1 WIDTH 200 HEIGHT 24 VALUE space(30) ;
FONT 'ArialRu'




Если я так определю фонты -

DEFINE FONT Arial FONTNAME App.FontName SIZE App.FontSize CHARSET 204 // RUSSIUN_CHARSET
DEFINE FONT ArialLa FONTNAME App.FontName SIZE App.FontSize CHARSET 186 // BALTIC_CHARSET

то могу потом писать так? -

@ 40,10 LABEL LABEL_002 WIDTH 1000 VALUE probatxt FONT 'ArialLa'

У меня не получается. В probatxt загнал латвийское слово, на выходе получил обычный кракозябр вместо š.
Или чего-то не хватает или я вообще что-то делаю не так.

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




Пост N: 3512
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.11.20 14:30. Заголовок: rvu пишет В probatxt..


rvu пишет
 цитата:
В probatxt загнал латвийское слово, на выходе получил обычный кракозябр вместо š.


Надо убедиться, что в файле именно лат. кодировка одна из 2х (в hb добавились, ранее и не было)
HB_CODEPAGE_LV775 - Dos кодировка
HB_CODEPAGE_LVWIN - Windows кодировка
т.е.
REQUEST HB_CODEPAGE_SVWIN ; HB_CDPSELECT( "LVWIN" )
или
REQUEST HB_CODEPAGE_SVWIN ; HB_CDPSELECT( "LV755" )
и
AlertInfo(hb_memoread(".\proba.txt"))
дадут показ лат. слова или не дадут

Я забросил пробы с языками в тек. версии hmg и вернулся к старой unucode версии, т.к. в наших базах реально пишут фразы со смешанными словами на языках, т.е. часть на лат., часть на рус. - чего больше зависит от того, к примеру, для кого вых. форма.
Пример, ранее представленный, работал только с тсб, где фонты исп. по handle.
До Label у меня дело не дошло. Попробуйте вариант выше, по идее должен получится

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




Пост N: 3513
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.11.20 14:35. Заголовок: SergKis пишет REQUES..


SergKis пишет
 цитата:
REQUEST HB_CODEPAGE_SVWIN


Сори, не исправил после copy+paste, надо
REQUEST HB_CODEPAGE_LVWIN
REQUEST HB_CODEPAGE_LV775 ; HB_CDPSELECT( "LV775" )

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





Пост N: 278
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 28.11.20 15:09. Заголовок: SergKis пишет: и ве..


SergKis пишет:

 цитата:
и вернулся к старой unucode версии



Т.е. она не на Минигуи?

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





Пост N: 279
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 28.11.20 15:23. Заголовок: SergKis пишет: над..


SergKis пишет:

 цитата:
надо
REQUEST HB_CODEPAGE_LVWIN
REQUEST HB_CODEPAGE_LV775 ; HB_CDPSELECT( "LV775" )



Вот интересно, у меня программа с русскими надписями, написана в кодировке 1251, убрал то, что у меня было, вставил латвийскую, т.е. так:

REQUEST HB_CODEPAGE_LVWIN

*SET LANGUAGE TO RUSSIAN
*SET CODEPAGE TO RUSSIAN

И ничего не изменилось. Надо кодировку самого текста программы менять? Или что делать?

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




Пост N: 3514
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.11.20 16:48. Заголовок: rvu посмотрите i_la..


rvu
посмотрите i_lang.ch
#translate SET LANGUAGE TO RUSSIAN => _HMG_LANG_ID := ' ' ; REQUEST HB_LANG_RU ; HB_LANGSELECT( "RU" ) ; InitMessages()
...
#translate SET LANGUAGE TO RUSSIAN => _HMG_LANG_ID := ' ' ; REQUEST HB_LANG_RUWIN ; HB_LANGSELECT( "RUWIN" ) ; InitMessages()
...
#ifdef __XHARBOUR__
#translate SET CODEPAGE TO RUSSIAN => REQUEST HB_CODEPAGE_RUWIN ; HB_CDPSELECT( "RUWIN" )
#else
#translate SET CODEPAGE TO RUSSIAN => REQUEST HB_CODEPAGE_RU1251 ; HB_CDPSELECT( "RU1251" )
#endif
для лат. надо аналогично
REQUEST HB_CODEPAGE_LVWIN, HB_LANG_LVWIN
...
_HMG_LANG_ID := ' '
HB_LANGSELECT( "LVWIN" )
HB_CDPSELECT( "LVWIN" )
...

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




Пост N: 3515
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.11.20 16:50. Заголовок: PS Это должна быть к..


PS
Это должна быть кодировка 1257

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





Пост N: 280
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 28.11.20 17:09. Заголовок: SergKis Ну хорошо, ..


SergKis

Ну хорошо, допустим, я сделаю программу в латвийской кодировке и смогу сделать в ней русский контрол. Хотя у меня задача в русской программе сделать иноязычные контролы, в первую очередь немецкий. Поэтому и старался в 1251 вписывать другие фонты.

SergKis пишет:

 цитата:
Все тексты программ проектов, т.к. не было редактора с LV866, в utf8



Может быть текст самой программы надо с 1251 в utf8 перевести? А вся контролы, в т.ч. и русский делать фонтами, как у вас?

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




Пост N: 3516
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.11.20 18:41. Заголовок: rvu пишет Может быть..


rvu пишет
 цитата:
Может быть текст самой программы надо с 1251 в utf8 перевести?


Не получится, скорее всего, hb+hmg однобайтные.
С лат. яз. не получается, т.к. валится Error BASE/1303 Argument error: __HB_LANGSELECT Args: [1] = C LVWIN.RU1251
Текст prg такой (файл "test.txt" utf-8 кодировка с BOM)
 
REQUEST HB_CODEPAGE_LVWIN

#include "hmg.ch"

FUNCTION Main()
Local cFile := "test.txt", cTxt, cBuf

//SET CODEPAGE TO RUSSIAN
//SET LANGUAGE TO RUSSIAN

//DEFINE FONT DlgFont FONTNAME "Tahoma" SIZE 16 CHARSET 186 // BALTIC_CHARSET

HB_LANGSELECT( "LVWIN" ) // валится тут
HB_CDPSELECT ( "LVWIN" )

cBuf := hb_memoread(cFile)
cTxt := hb_StrToUtf8(subs(cBuf, 4))

AlertInfo( cTxt )

Return

т.е. прочитать лат. яз текст такой (в utf-8)
NEMATERIĀLIE IEGULDĪJUMI
NEMAT.IEG.VĒRT.NORAKST.DAĻA
ĒKAS, BŪVES, ZEMES GABALI
PAMAATLĪDZEKĻI
перевести в lvwin и показать => не выходит.
Попробуйте с немецким
 
SET LANGUAGE TO GERMAN
SET CODEPAGE TO GERMAN
cBuf := hb_memoread(cFile)
cTxt := hb_StrToUtf8(subs(cBuf, 4)) // или текст на немецком не в utf-8 возьмите

AlertInfo( cTxt )

Если получится, тогда пробуйте с charset и russian установкой

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




Пост N: 3517
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.11.20 18:40. Заголовок: SergKis пишет Если п..


SergKis пишет
 цитата:
Если получится, тогда пробуйте с charset и russian установкой


Вот что получилось
 
REQUEST HB_CODEPAGE_RU1251

#include "hmg.ch"

FUNCTION Main()
Local cFile := "test.ru", cTxt, cBuf
SET CODEPAGE TO GERMAN //RUSSIAN
SET LANGUAGE TO GERMAN //RUSSIAN
DEFINE FONT DlgFont FONTNAME "Tahoma" SIZE 16 CHARSET 204 // RUSSIAN_CHARSET
//DEFINE FONT DlgFont FONTNAME "Tahoma" SIZE 16
cBuf := hb_memoread(cFile)
cTxt := hb_Utf8ToStr(subs(cBuf, 4), "RU1251" )
//cTxt := hb_Utf8ToStr(subs(cBuf, 4) )
AlertInfo( cTxt + CRLF + "CDP = "+hb_CdpSelect() )
Return
Файл test.ru кодировка utf8 с BOM, содеримое
Привет !
Проба текста RU1251.


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





Пост N: 282
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 30.11.20 06:49. Заголовок: А чтобы показать нем..


А чтобы показать немецкий текст я должен написать что-то, типа этого? -
Пишу по аналогии:

Local cFileDE := "test.de", cTxtDE, cBufDE

cBufDE := hb_memoread(cFileDE)
cTxtDE := hb_Utf8ToStr(cBufDE,'DEWIN' )
AlertInfo(cTxtDE)

В файле test.de - über die Straße

Но это не работает. Вместо ü русский ь. Вместо ß русское Я.

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





Пост N: 283
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 30.11.20 07:00. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Может быть текст самой программы надо с 1251 в utf8 перевести?

Не получится, скорее всего, hb+hmg однобайтные.



Текст программы записал в utf8.

А для чего у вас стоит REQUEST HB_CODEPAGE_RU1251?
Изменил на REQUEST HB_CODEPAGE_DEWIN, ничего не изменилось.


Вообще такое ощущение, что программа у меня только с русским языком дружит:

SET CODEPAGE TO SPANISH
SET LANGUAGE TO SPANISH
AlertInfo(hb_Utf8ToStr('Ññ',"ESWIN")) // неправильно показывает
AlertInfo(hb_Utf8ToStr('Проба текста',"RU1251")) // всё работает

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




Пост N: 3518
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.11.20 10:15. Заголовок: rvu пишет Текст прог..


rvu пишет
 цитата:
Текст программы записал в utf8.


hb в hmg поставке однобайтный, думаете он понимает prg в utf8 ?
У меня тексты языковые вынесены вне текстов prg и в кодировке utf8, вся работа в dos кодировке lv866, содержит 3и языка.
До редактора hdedit (своя сборка с lv866) prg были для akelpad в utf8, прогр. проекта для сборки перекодировала в однобайтный вариант (в каталог сборки) и потом работает сборка hb. Такая схема с версии hb 2.0 работала. В hb 3.2 сборка unicode понимает, вроде, prg с utf8 и bom, а однобайтная не знаю, может и не понимать, т.к. надо осн. язык перекодировки указывать.

 цитата:
Вообще такое ощущение, что программа у меня только с русским языком дружит:


Вроде как система должна быть на этом языке (DEWIN). Такая х...та с работой в однобайтных системах была всегда

 цитата:
Т.е. она не на Минигуи?


Рабочая наша версия это hb 3.2 unicode + MiniGui 4.07 (версия 2012 г) unicode - товарищ по работе перевел.
hb_cdpSelect("LV866") ; hb_setTermCP("LV866")
такая установка во всех function main
Немецкий не подключали, не нужен, а EN, LV, RU в пост. работе

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




Пост N: 3519
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.11.20 10:24. Заголовок: PS "MiniGui 4.07..


PS
"MiniGui 4.07 (версия 2012 г) unicode" переведены только контролы, печать и др. не переводились, т.к. печать, pdf, mail, excel остались в VO 2.7, т.к. она также в unicode переведена была товарищем ~ в 2003 г.

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




Пост N: 3520
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.11.20 12:21. Заголовок: PS2 В том примере с ..


PS2
В том примере с
 
DEFINE FONT Arial FONTNAME App.FontName SIZE App.FontSize CHARSET 186 // BALTIC_CHARSET
DEFINE FONT ArialBold FONTNAME App.FontName SIZE App.FontSize BOLD CHARSET 186 // BALTIC_CHARSET
DEFINE FONT ArialRu FONTNAME App.FontName SIZE App.FontSize CHARSET 204 // RUSSIUN_CHARSET
DEFINE FONT ArialRuBold FONTNAME App.FontName SIZE App.FontSize BOLD CHARSET 204 // RUSSIUN_CHARSET

я попробовал в тсб показать файл в dos lv866 кодировке, система и prg RU1251 и BALTIC_CHARSET у фонта - получилось показать, ввод с клавиатуры лат. языка и др. контролы (наверно не поймут) я не пробовал. По идее система и prg DEWIN и RUSSIAN_CHARSET тсб так же отработает, а остальные контролы скорее нет, чем да. Т.е. язык системы ставим в hmg и работаем, как то так должно быть.
Для вашей ситуации надо как минимум hb в unicode + VWT или VWG (тут были контролы windows какие то) и prg, базы в utf8 или взять HwGui собрать unicode вариант, там было и пробовать

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





Пост N: 284
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 01.12.20 11:59. Заголовок: Спасибо за советы! Б..


Спасибо за советы! Буду пробовать дальше.

SergKis пишет:

 цитата:
ввод с клавиатуры лат. языка и др. контролы (наверно не поймут) я не пробовал.



Не понял, у вас же работают с двумя языками. Я думал, их и вводят в какие-то поля при необходимости. Но у вас вообще беда, ведь могут быть тексты на смеси языков, как вы с ними без utf работаете не представляю.

SergKis пишет:

 цитата:
базы в utf8



Базы-то у меня изначально в utf.

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




Пост N: 3521
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 01.12.20 19:25. Заголовок: rvu пишет Не понял, ..


rvu пишет
 цитата:
Не понял, у вас же работают с двумя языками. Я думал, их и вводят в какие-то поля при необходимости


Да, есть базы, где языки разделены (условно) по разным полям, но никто не мешает вводить смешано в одно поле. Для примера взял именно такую базу.
1. Проверить тсб (это не стандартный контрол windows) и он правильно отобразил строки с разным языком.
2. Т.к. в hmg 4.07 тсб версии 7.0, а в тек. версии 9.0 и более стабильно работающая и др. контролы более продвинуты, были мысли использовать интерфейс для windows лат. версии LVWIN кодировку (1257), для windows рус. версии RUSSIAN (1251). Перевод на unicod тек. версии, были попытки, но слишком много текста стало и не успевали за версией, т.е. отложили на когда то.

 цитата:
Но у вас вообще беда, ведь могут быть тексты на смеси языков, как вы с ними без utf работаете не представляю.


Вообще то все оч. просто dbf как были в clipper LV866 dos кодировка (это аналог ru866, в которой некоторые символы псевдографики заменены лат. буквами) так и остались (для VO так же все). В hb unicode сборку добавлена такая таблица в список codepage по правилам harbour. В windows language 3и языка (можно больше). Др. язык можно в базу lv866 писать как utf8, если что

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





Пост N: 285
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 02.12.20 22:46. Заголовок: Нашел пример с порту..


Нашел пример с португальским меню:

C:\MiniGUI\SAMPLES\Advanced\DriveMapping\

У меня оно неверно показывается.

Язык, естественно в тексте меняю. Там английский стоит по умолчанию, а португальский закомментарен.
Всячески игрался с настройками, ничего не вышло. Попробовал сделать ошибки и посмотреть сообщения. Вообще чуднО выдает.

Вместо parametros пишет parŕmetros.

В примере:

C:\MiniGUI\SAMPLES\Applications\Biorhythm\

польский, португальский, словенский неверно показываются.

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




Пост N: 3523
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.12.20 23:23. Заголовок: rvu пишет польский, ..


rvu пишет
 цитата:
польский, португальский, словенский неверно показываются.


Все правильно так и должно быть у вас русский windows и др. языки будут искажаться на ерунду.
MiniGui (hmg) однобайтная система программирования (не unicod контролы). Я, наверно, плохо объяснил.
Для каждого языка должна быть система windows на этом языке и в программе уст. язык системы windows, т.е.
Для польского система windows должна быть на польском и в hmg prg файле ставим работу на польском.
Для португальского система windows должна быть на португальском и в hmg prg файле ставим работу на португальском.
Для немецкого система windows должна быть на немецком и в hmg prg файле ставим работу на немецком.
И т.д.
Тогда будет в программе английский и язык системы.
Тсб не стандартный контрол windows (самопал), потому в нем получилось отображение языка по hardset, но ввод данных не пройдет.
Если бы hmg была переведена в unicod и hb собран unicode было бы все ok для такого комплекта. Повторю

 цитата:
Для вашей ситуации надо как минимум hb в unicode + VWT или VWG (тут были контролы windows какие то) и prg, базы в utf8 или взять HwGui собрать unicode вариант, там было и пробовать



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

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