Автор | Сообщение |
|
| |
Пост N: 40
Зарегистрирован: 22.04.15
|
|
Отправлено: 29.08.19 05:19. Заголовок: IDE8
Можете на простом примере показать: 1. На примере TEXTBOX вводились символы UTF8 2. На примере LABEL - соответственно выводились
|
|
|
Ответов - 125
, стр:
1
2
3
4
5
6
7
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 2779
Зарегистрирован: 17.02.12
|
|
Отправлено: 29.08.19 06:55. Заголовок: Новичок пишет Можете..
Новичок пишет цитата: | Можете на простом примере показать: 1. На примере TEXTBOX вводились символы UTF8 2. На примере LABEL - соответственно выводились |
| MiniGui не unucod-ная. Делаем казахский и русский фонты по аналогии 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'
|
|
|
|
| moderator
|
Пост N: 1359
Зарегистрирован: 06.07.06
|
|
Отправлено: 29.08.19 09:01. Заголовок: Если нужен UNICODE и..
Если нужен UNICODE и корректное использование utf8, используйте HwGUI ), собрать его надо с флагом UNICODE - раскомментировать соответствующие флаги в hwgui.hbp или в батниках.
|
|
|
|
| |
Пост N: 41
Зарегистрирован: 22.04.15
|
|
Отправлено: 29.08.19 09:55. Заголовок: ясненько... спс, спе..
ясненько... спс, сперва выкручусь фишками, потом попробую HwGUI или давайте все вместе и дружно перейдем на utf32 и будем дальше плодить проблемы :)
|
|
|
|
| |
Пост N: 42
Зарегистрирован: 22.04.15
|
|
Отправлено: 02.09.19 03:13. Заголовок: и вообще... все "..
и вообще... все "сильные" страны мира всего стараются пихать свои языки(в том числе алфавит) в многие народности... у нас международный язык общения (евразийский континент - постсоветское пространство) РУССКИЙ (КИРИЛЛИЦА) и Москва думает ток свою "геополитику", как в это время нам навязывают... Английский, Французский, Китайский, ... уже и массово и Корейский языки (соответственно культура, ценности, миграция... РАБОТА!) /*Далее балабольство*/ Ясно дело - поколение "80-х" - последнее поколение РУССИФИКАЦИИ, и с каждым годом остается НАС все меньше и меньше ! (*воспитали целое поколение людей "90-х" патриотов-НАЦИОНАЛИЗАЦИИ при распаде СССР, - которое с треском провалилось ! которые не нужны ни своей стране, а в чужой тупо - незнают МЕЖДУНАРОДНЫЕ языки общения, не говоря уже о культуре, ценностях, ... - короче приезжие "черножопые", в том числе, те же этнические славяне - ну само собой, сильные специалисты из этого списка - побелее - "СЕРОЖОПЫЙ" жук ) На смену прибывает НОВОЕ ПОКОЛЕНИЕ ("2000+") АнглоФранкоИспаноЧИРИКЧИРИКфикации, которые даже 2 слова на РУССКОМ связать не могут, не то что написать черным по белому !!! Помогают убыстрить ВОЛОНТЕРЫ с данных стран, причем большинстве БЕСПЛАТНО, или символически платно, но с условием что всякими ЛьГОТАМИ, ТРУДОУТРОЙСТВАМИ, и т.д. вернут в 100 раз больше (ха! в том и дело - восполняют!) Короче ВАТИКАНздец ! С мертвым языком ЛАТЫНЬ - говорят ток в Ватикане (страна Ватикан в стране). Будет МОСКВАздец ! С возможным мертвым языком РУССКИЙ - будут говорить ток в Москве (Страна Москва в стране) остальные на ЧИРИКЧИРИК с бывшими гражданами ЧИРИКстана, остальных малых народностей повторится история индейцев (ха! не предков, а потомков кочевников) - на прерии в Сибирь! - для эксперимента - человек(народы) в условиях ледникового периода :) - и всех обзовут Ярангами ! Ну правильно, у ЧИРИКОВ итак более 65000 иероглифов, нехватало еще столько же рисовать :) И будут у этого народа Яранги много легенд, как в далекие года - их называли, к примеру (У окраины) - уОкраинцами -или коротко - Украинцами - защищали западные границы великой Московии, и напали тогда проклятые орды Варваров с железными конями, много дней и ночей сражались всей Московией - и победили ! Но пришел коварный невидимый враг в виде птиц голосистых, с болезнями птичьего гриппа, и покосила эта болезнь всю Московию, и бежали мы в края далекие и холодные... По приколу - Русские национальные блюда - Пельмени (состав: тесто, жаренные кузнечики, заправленные соком из свежевыжатых червей, соль, вода, ...), Манты (те же пельмени, ток поболя размерчиком, и вместо кузнечиков, жаренные летучие мыши) и будут доказывать что сам Петр-I перед битвой сфарганил - и докажут ! :) И будда на кресте завещал своим потомкам из ЧИРИКстана - "За дИржаву РЮСЬ! За мИАтЮшкЮ зИмлЮ ! чирикчирик вообщем", и окажется Славяне, это не Славяне, а белое племя из ЧИРИКЧИРИКстана, и что США в далекие-далекие года до нашей эры разъединили племя ЧИРИКОВ ! О чём Я ?... Ах да... ! /* Конец балабольства */ Может предложить кодовую страницу 1251 (866, ...), все-таки подправить - включить символы народностей СССР использующих кириллицу (их не особо много) в порядке алфавита на базе русского языка (33 буквы +, вложить между символами русского алфавита, и порядок следования символов русского языка сохранится, просто некоторые сдвинутся и других языков порядок следования обеспечен - для индексации), или к примеру создать страницу 1266 или своим именем обзови, будем помнить "Семенов-Тян-Шаньского или "Пржевальского" :). *Кстати,в Киргизии похоронен Пржевальский - около озера вроде. В этом случае, многие Республики, опять вернутся на кириллицу. (да хотя бы что основа это тюрский язык, русский в том числе) То есть если патриоты России, может хватит думать в рамках 33 букв? Начни с этого проекта, создай кодовую страницу к примеру EUROASIAN, и тогда с 256 символами обойдемся, к примеру нах псевдографика ? *я бы с удовольствием, поверь сильно занят элементарным выживанием :)
|
|
|
|
| Администратор
|
Пост N: 3868
Зарегистрирован: 23.05.05
|
|
Отправлено: 02.09.19 09:00. Заголовок: 1. Так у вас латиниз..
1. Так у вас латинизация уже, или только в процессе ? 2. Прицепить к харбору новую 8-ми битную кодировку, хоть кириллическую (расширение 1251), хоть латиницу, можно. Только скажите, какую, с сопоставлением с unicode. Но если скажем minigui не поддерживает unicode, это для печати ничего не даст. Нужна еще соответствующим образом локализованная версия windows В харборе есть свои средства печати в библиотеке hbwin, но там нет preview, что весьма неудобно.
|
|
|
|
| постоянный участник
|
Пост N: 2787
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.09.19 11:03. Заголовок: Pasha пишет Но если ..
Pasha пишет цитата: | Но если скажем minigui не поддерживает unicode, это для печати ничего не даст. Нужна еще соответствующим образом локализованная версия windows |
| VO то же не unicode (есть и локализованная латышская windows), но печать работает VOшная еще с версии 2.0 и работала с выводом программ clipper. Фонты на charsetах. Строка вывода превращается в массив слов\букв с соответствующим фонтом\Charset. Фонты, создаются парно (1251, 1257) с 1-9 штук (задавать можно извне перед печатью формы), 0 фонт базовый, осн. печать. Внутри ссылка по номеру фонта, т.е. слова\буквы - к номеру фонта (элемент массива). Кодировка базы LV866, кодировка текстовых файлов (всех) Utf8, Все тексты программ проектов, т.к. не было редактора с LV866, в utf8, все тексты контролов (надписи label) вынесены в ini, cfg файлы utf8 (можно в ресурсы, но соответствия перевода у клиента лат.\рус может быть разным) правят для конкретного клиента в ini\cfg как кому нужно. И сейчас вся печать для hb программ работает через VO-шную версии 2.7
|
|
|
|
| постоянный участник
|
Пост N: 2788
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.09.19 11:07. Заголовок: PS hb программы - эт..
PS hb программы - это MiniGui 2а варианта, основная переведена в unicod (v.m 2.07), вспомогательная текущая (работа как показывал в примере с Charset)
|
|
|
|
| Администратор
|
Пост N: 3870
Зарегистрирован: 23.05.05
|
|
Отправлено: 02.09.19 19:29. Заголовок: Латышский язык и лат..
|
|
|
|
| постоянный участник
|
Пост N: 2789
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.09.19 21:03. Заголовок: Pasha Правка ..
Pasha Правка Скрытый текст
/* Month names */ "Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris", /* Day names */ "Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena",
| Латышские гарумзиме (буквы) на месте. Все похоже.
|
|
|
|
| Администратор
|
Пост N: 3873
Зарегистрирован: 23.05.05
|
|
Отправлено: 02.09.19 21:17. Заголовок: Спасибо, поправлю. Д..
Спасибо, поправлю. Добавлю еще до кучи эстонский, и предложу в devlist
|
|
|
|
| постоянный участник
|
Пост N: 2791
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.09.19 21:23. Заголовок: Pasha :sm36: Это ..
Pasha Это снимет проблемы "чистых" языковых экранов, но смешанные данные это фонты с charset (основная работа) для gui
|
|
|
|
|
| |
Пост N: 43
Зарегистрирован: 22.04.15
|
|
Отправлено: 03.09.19 08:27. Заголовок: SergKis и интересно ..
SergKis и интересно и какая CHARSET для среднеазиатских языков ? *к примеру для балтийских языков есть и кодовая страница 1257
|
|
|
|
| |
Пост N: 44
Зарегистрирован: 22.04.15
|
|
Отправлено: 03.09.19 08:56. Заголовок: Короче, нужна коррек..
Короче, нужна корректная работа UTF8.
|
|
|
|
| |
Пост N: 45
Зарегистрирован: 22.04.15
|
|
Отправлено: 03.09.19 08:58. Заголовок: *Для среднеазиатских..
*Для среднеазиатских языков - Казахский - Киргизский - Узбекский - Таджикский - Туркменский на основе Кириллицы
|
|
|
|
| |
Пост N: 46
Зарегистрирован: 22.04.15
|
|
Отправлено: 03.09.19 09:05. Заголовок: на примере, в других..
на примере, в других системах: достаточно указать charset=utf8 присобачить требуемый язык lang="код языка" и всё
|
|
|
|
| постоянный участник
|
Пост N: 2793
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.09.19 09:51. Заголовок: Новичок пишет Короче..
Новичок пишет цитата: | Короче, нужна корректная работа UTF8. |
| Посмотрел, кодовая страница казахского отсутствует в стандарте windows (Dos как бы есть) кроме Utf8. Тогда вариантов не так много, на мой взгляд (наш опыт) - варианты WVT и базы Utf8 GUI - Если dos кодировка актуальна (+ базы от clipper остаются как были), то hb unicode + ф-и перекодировки extern char _bk_Uni2Dos_( TCHAR ch); extern TCHAR _bk_Dos2Uni_( char ch); + перевод hmg на них, что в целом трудоемко - взять HwGui unicode базы Utf8 и пробовать окна, контролы (browse) + xml настройки на кодировку - работа ActivX с IE с движком http://w2ui.com/web/demo/grid или другие есть варианты - Вариант, возможно, самый интересный) http://clipper.borda.ru/?1-3-0-00000628-000-0-0-1565852051 (не смотрел еще) - Была HtmLayout.dll от https://terrainformatica.com (dll убрали в 2010 и остался только Sciter) движок html+js подобный язык, возможно заинтересует. На dll сделанные задачи (html страницы) работают до сих пор (загрузка grid таблицы ~10000-15000 записей) ~3-5 сек. Сервер Apache, к примеру, не нужен был для выхода по url на какой либо сайт
|
|
|
|
| постоянный участник
|
Пост N: 2794
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.09.19 10:27. Заголовок: PS Вариант с WVT мож..
PS Вариант с WVT можно использовать вполне, т.к. к примеру, через DosBox со смартфона работает.
|
|
|
|
| |
Пост N: 47
Зарегистрирован: 22.04.15
|
|
Отправлено: 03.09.19 10:49. Заголовок: Нужно, хотя бы, чтоб..
Нужно, хотя бы, чтобы на КОНТРОЛАХ отображались символы с UTF8 при подключении: #xtranslate SET CODEPAGE TO UNICODE => Set (_SET_CODEPAGE, "UTF8") REQUEST HB_CODEPAGE_UTF8 SET CODEPAGE TO UNICODE а базы бы оставались на 866. Создал бы правило соответствия некоторых символов UTF8 с некоторыми символами 866, то есть при чтении с базы переводил бы эти символа 866 на UTF8 c выводом на контролы, и при записи наоборот с UTF8 на 866 по соответствию. (*Для начала) Конечно, далее возникал вопрос - preview, печать, индексация - ну думаю эти вопросы решили бы. А при операциях со строками - производил бы без правил соответствия ( на 866) и после - результат переводил бы на UTF8 Следовательно, главный вопрос - ОТОБРАЗИТЬ НЕКОТОРЫЙ СИМВОЛ UTF8 НА КОНТРОЛАХ :)
|
|
|
|
| |
Пост N: 48
Зарегистрирован: 22.04.15
|
|
Отправлено: 03.09.19 10:51. Заголовок: Для начала хватило б..
Для начала хватило бы и этого. Пока со временем проект не переведут на UTF8.
|
|
|
|
| |
Пост N: 49
Зарегистрирован: 22.04.15
|
|
Отправлено: 03.09.19 11:12. Заголовок: что за WVT ?..
что за WVT ?
|
|
|
|
| постоянный участник
|
Пост N: 2795
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.09.19 11:17. Заголовок: Новичок Попробуйте ..
Новичок Попробуйте hb+HwGui unicode сборки и тестовую Utf8 базу и контролы (browse, button, label) код текстов prg файла Utf8 Страница Utf8, для dbf codepage не ставить (данные будут как прочитаны) Пример окна с контролами сбацать Если пойдет, то можно делать перекодировку из 866 в utf8 и обратно и применять decode перед контролом и encode перед записью в dbf
|
|
|
|
|
| постоянный участник
|
Пост N: 2796
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.09.19 11:27. Заголовок: Новичок пишет что з..
Новичок пишет Драйвер экрана (не консоль). Посмотрите примеры в harbour\test поискав WVT в prg файлах.
|
|
|
|
| постоянный участник
|
Пост N: 2797
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.09.19 11:29. Заголовок: PS Возможно, alkresi..
PS Возможно, alkresin, даст больше рекомендаций по HwGui, т.к. это его продукт
|
|
|
|
| moderator
|
Пост N: 1367
Зарегистрирован: 06.07.06
|
|
Отправлено: 03.09.19 11:54. Заголовок: SergKis пишет: Возм..
SergKis пишет: цитата: | Возможно, alkresin, даст больше рекомендаций по HwGui, т.к. это его продукт |
| Если будут вопросы - обращайтесь. Я использую юникодную сборку HwGUI в некоторых своих приложениях, проблем вроде нет. Например, http://www.kresin.ru/down/notes.zip - программа для заметок, которой я активно пользуюсь. Там в тестовой безе несколько китайских иероглифов в тексте.
|
|
|
|
| Администратор
|
Пост N: 3875
Зарегистрирован: 23.05.05
|
|
Отправлено: 03.09.19 19:38. Заголовок: Новичек Можно ли ис..
Новичок Можно ли использовать 8-ми битную казахскую кодировку KZ-1048, или СТ РК 1048—2002 (это расширение cp1251). Насколько она распространена ? Эта кодировка будет использоваться совместно с utf8 Проверьте пожалуйста казахский алфавит: АӘБВГҒДЕЁЖЗИЙКҚЛМНҢОӨПРСТУҰҮФХҺЦЧШЩЪЫІЬЭЮЯ аәбвгғдеёжзийкқлмнңоөпрстуұүфхһцчшщъыіьэюя и название месяцев и дней недели: Қаңтар Ақпан Наурыз Сәуір Мамыр Маусым Шілде Тамыз Қыркүйек Қазан Қараша Желтоқсан Жексенбі Дүйсенбі Сейсенбі Сәрсенбі Бейсенбі Жұма Сенбі
|
|
|
|
| |
Пост N: 50
Зарегистрирован: 22.04.15
|
|
Отправлено: 03.09.19 19:46. Заголовок: HwGUI, несколько во..
HwGUI, несколько вопросов: а) учтено работа с: 1.Excel 2.Word 3.XML 4.PDF 5.клиент-серверная 6.мобильная для начала в дальнейшем понадобятся и остальные: Socket, SQlite, MySQl, Postgres,... и т.д. б) сильно различаются от MiniGUI (синтаксис) в) что используется PREVIEW (на печать; UTF8)
|
|
|
|
| |
Пост N: 51
Зарегистрирован: 22.04.15
|
|
Отправлено: 03.09.19 19:55. Заголовок: *ну во-первых,я не к..
*ну во-первых,я не казах, и не с Казахстана в данный момент стоит вопрос про среднеазиатский регион...
|
|
|
|
| постоянный участник
|
Пост N: 2798
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.09.19 22:11. Заголовок: Новичок пишет HwGUI,..
Новичок пишет цитата: | HwGUI, несколько вопросов: ... для начала |
| Перечисленное относится не к hwgui, а hb, конкретнее подкаталог contrib, т.е. libы сборки hb (они же и в MiniGui). цитата: | сильно различаются от MiniGUI (синтаксис) |
| HwGui - объекты, синтаксис похож в плане препроцессорных команд ch файлов Смотрите конкретно http://www.kresin.ru/ Ставьте, см. примеры и пробуйте. На чем сделаны, работающие сейчас программы ? Если clipper, может стоит перевести на hb unicode для начала ?
|
|
|
|
| постоянный участник
|
Пост N: 2799
Зарегистрирован: 17.02.12
|
|
Отправлено: 04.09.19 05:58. Заголовок: Новичок пишет в данн..
Новичок пишет цитата: | в данный момент стоит вопрос про среднеазиатский регион... |
| Хотелось бы знать реализацию работающих программ по кодовым страницам. Если вы обратили внимание на содержимое lv.7z архива от Pasha, то увидели, что кодировка l_lv.c, l_lv.h utf8. Это значит, что кроме utf8 работы с языками, на hb можно сделать таблицы национальных языков, даже если их нет в стандарте windows. Более того, можно для hb unicode сделать Dos таблицы, как LV866, содержащей Лат., Рус., Англ. языки. То что я писал про ф-ии перекодировки Dos2Uni, Uni2Dos это атавизм из версии hb 2.0, перешедший в 3.2 на msvc 9 версии. При переходе на msvc 2017, мой товарищ, уже сделал LV866 по правилам и в стандарте hb. Правда я еще не переходил на работу с этой версией C. Так что вопрос от Pasha цитата: | Можно ли использовать 8-ми битную казахскую кодировку KZ-1048, или СТ РК 1048—2002 (это расширение cp1251). Насколько она распространена ? |
| по делу, т.к. если вас интересуют "среднеазиатские" языки, то кроме вас никто не скажет (не выяснит) правильные названия месяцев и дней дели для организации нац. таблиц.
|
|
|
|
| |
Пост N: 52
Зарегистрирован: 22.04.15
|
|
Отправлено: 04.09.19 06:02. Заголовок: *использую Harbour M..
*использую Harbour MiniGUI (dbf-866; Windwows-1251; lang:RU) c Клипера давно иммигрировал (просто больше времени уделял другим СУ*БД и языкам, на Harbour держу немало проектов, - не терять clipper'навыки, да и к данным проектам идеально подходит - самый главный плюс на моей практике- сделал проект на Harbour (причем очень быстро, подручными средствами) , установил и... прекрасно живет, и практически не жалуется, возникающие ошибки не критичны(в основном обходится с записью на лог ошибок ), специального администрирования не требуется, легковесная(+в 100-и, иногда 1000-и раз требуется меньше места), что там с ОС происходит - плевать - переустановили ОС(без моего участия) и дальше погнали - класс одним словом (кроме одного раза - когда в многопользовательском режиме, происходил сбой по разным причинам - то в базе DBF, посреди данных, впихивалась большая куча записей абракадабры - поставил контрольное поле корректности записи, и при загрузке автоматически удалял абракадабру при сбоях, в дальнейшем убрал эту функцию, видать этот баг исправили... или у нас энергоснабжение стабилизировалась ) *конечно последовательно, в конкретный момент встал вопрос UTF8 - и хотя бы решить малой кровью, без глобальных переделок *возможно было бы легче, если бы изучил исходники и проект Harbour в целом изнутри - зная себя, перелопатил бы (перемудрил бы) во что-то другое, поэтому не лезу "чем дальше лес, тем больше дров"... Пришел к выводу: - глобальная переделка займет слишком много времени + с учетом граблей (можно за это время перекинуть на другие БД и языки - потеря рентабельности) - на данный момент лучше всего установить правила соответствия кодовых страниц - по-символьно (типа как Pasha предлагает), соответственно с функциями кодирования, декодирования Опять же прихожу к выводу - Требуется отображение символов UTF8 на контролах *кто-нибудь, отключите проверку диапазона символов на контролах и вывода '?' вместо них или это происходит системно* (дык, тогда дайте понять этой системе - что он не прав ) ? так как пробовал подключать шрифты поддерживающие UTF8, проверял на cmd chcp 65001 (консоль тянет UTF8 - *у мя windows 10, cp 1251, с подключенными всеми среднеазиатскими языками), эти же шрифты пробовал на других своих системах (отображает UTF8) и т.д., только здесь упорно рисует '?' ну ёпта (сорян мужики, до ассемблера руки не дошли - незнаю)
|
|
|
|
| постоянный участник
|
Пост N: 2800
Зарегистрирован: 17.02.12
|
|
Отправлено: 04.09.19 06:18. Заголовок: Новичок пишет исполь..
Новичок пишет цитата: | использую Harbour MiniGUI (dbf-866; Windwows-1251; lang:RU) Требуется отображение символов UTF8 на контролах |
| Повторю, MiniGui однобайтная, как и hb сборка с ней. И если собрать hb unicode можно, установив ключ UNICODE, то hmg C тексты надо переводить на работу в 2х вариантах, включая unicode. Это трудоемко и требует времени, особенно в отладке. Можете это сделать, помочь Григорию ... делайте. А так только HwGui имеет вариант сборки unicode С нац. языками, как предлагает Pasha можно использовать и MiniGui
|
|
|
|
|
| |
Пост N: 53
Зарегистрирован: 22.04.15
|
|
Отправлено: 04.09.19 07:32. Заголовок: ладно попробую дедов..
ладно попробую дедовским способом) подкл на Windows: Выполнить - eudcedit - откроется Редактор личных знаков Далее, Правка - Копировать знак.. - Выберу любой символ - Поизголяюсь ! Получится новый символ Далее, Файл - Связи шрифтов - Для всех шрифтов(по умолчанию) - Сохранить Открываю Таблицу символов в самый низ там появится Все шрифты (Личные знаки), выберу этот символ - Выбрать - Копировать Открываю программу Hb MiniGui, контроль TEXTBOX, жму Shift+Insert, и оп пля !!! Этот символ ВСТАВЛЕН ! с кодом U+E000, и так далее... Можно же.
|
|
|
|
| |
Пост N: 54
Зарегистрирован: 22.04.15
|
|
Отправлено: 04.09.19 07:39. Заголовок: на Клиппере, типа та..
на Клиппере, типа также делал, рисовал символ псевдографикой, присваивал соответствие к некоторому неиспользуемому символу, и на принтере(ранее матричные), также эту псевдографику впихивал (командами принтера через клиппер SAY...TO PRINT), и всё... на тебе любые языки и символа)
|
|
|
|
| постоянный участник
|
Пост N: 2801
Зарегистрирован: 17.02.12
|
|
Отправлено: 04.09.19 08:31. Заголовок: т.е. символы узбекск..
т.е. символы узбекского, казахского, киргизского, туркменского языков засунете в одну таблицу, сделаете таблицу перекодировки 866 -> <таблица>, месяцы, дни недели аналогично ?
|
|
|
|
| |
Пост N: 55
Зарегистрирован: 22.04.15
|
|
Отправлено: 04.09.19 09:06. Заголовок: я бы с самого начала..
я бы с самого начала так бы сделал, тем более Windows API эти символа поддерживаются автоматически и отображаются корректно (практически везде на Windows) просто по сравнению с DOS временами, здесь надо кучу шрифтов перелопатить(Arial, Courier, ...), переопределить правила индексации (что приведет к замедлению), а там Upper, Lower, дни недели, месяца, ... - особо не составит труда ранее программы были обособленными, проблем не возникало, на текущий момент без стандартов, все время придется ручками допиливать, ладно 1-2 задачи, но со временем этих задачи плодятся, и как раньше "а! пока сделаю так..." не прокатит. Поэтому искал помощи, как-то связать с UTF8, чтобы уже забыть, не париться в будущем...
|
|
|
|
| |
Пост N: 56
Зарегистрирован: 22.04.15
|
|
Отправлено: 04.09.19 09:12. Заголовок: *ну что же, будем жд..
*ну что же, будем ждать - когда Hb + MiniGUI на UTF8 перепилят) спс всем
|
|
|
|
| moderator
|
Пост N: 1368
Зарегистрирован: 06.07.06
|
|
Отправлено: 04.09.19 09:23. Заголовок: Новичок пишет: HwGU..
Новичок пишет: цитата: | HwGUI, несколько вопросов: а) учтено работа с: 1.Excel 2.Word |
| Вы немного запутались. GUI-библиотеки ( Fivewin, HwGUI, MiniGUI, ... ) обеспечивают графический интерфейс. Работа с Word, Excel и пр. - это частный случай использования Харборовского модуля для OLE и COM. Вы можете работать с любыми (или почти с любыми) COM-объектами, будь то MS Office или 1С хоть из консольной программы, GUI здесь ни при чем. Вообще-то, аналогично предыдущему пункту - в Harbour есть модуль для XML. Но HwGUI содержит свою XML библиотеку, она, кстати, может использоваться отдельно, без остального функционала. Я писал ее, когда в Harbour своих средств для этого не было, а в HwGUI она потребовалась для дизайнера форм и отчетов. Вы наверное, имеете ввиду поддержку клиент-серверных БД? Это опять не к GUI-библиотеке. Harbour-программа c HwGUI будет работать с клиент-серверными БД, поскольку это обеспечивают соответствующие Harbour-библиотеки. В смысле, под Андроид и iOs? Для Андроид, кстати, я частично портировал HwGUI - это называется HDroidGUI, но давно забросил - просто потому что сам не пользуюсь смартфонами. цитата: | Socket, SQlite, MySQl, Postgres,... и т.д. |
| То же самое, это все Harbour, он это поддерживает. Кстати, та программа для заметок использует именно sqlite. цитата: | б) сильно различаются от MiniGUI (синтаксис) |
| Синтаксис, связанный с реализацией GUI-элементов, естественно, отличается. Насколько - не могу сказать, я с синтаксисом MiniGUI мало знаком. Отличия, наверное, заметные, т.к. HwGUI основан на классах - так, как они реализованы в Harbour, а MiniGUI использует массивы и имитирует объектно-ориентированный синтаксис с помощью препроцессорных директив. цитата: | в) что используется PREVIEW (на печать; UTF8) |
| Preview в модуле печати есть. Utf8 там, конечно, поддерживается, как и везде в HwGUI.
|
|
|
|
| постоянный участник
|
Пост N: 2802
Зарегистрирован: 17.02.12
|
|
Отправлено: 04.09.19 09:37. Заголовок: Новичок пишет исполь..
Новичок пишет цитата: | использую Harbour MiniGUI (dbf-866; Windwows-1251; lang:RU) |
| Т.е. сейчас национальных азиатских языков нет совсем (кроме русского) и ввода с клавиатуры языковых данных в MiniGui нет ? Есть ли 8 битные таблицы национальных азиатских языков в работе и какие ? Или вы то же не в курсе ? цитата: | ну что же, будем ждать - когда Hb + MiniGUI на UTF8 перепилят) |
| Если и будут пилить, то в unicod
|
|
|
|
| Администратор
|
Пост N: 3876
Зарегистрирован: 23.05.05
|
|
Отправлено: 04.09.19 10:38. Заголовок: Новичок пишет: в да..
Новичок пишет: цитата: | в данный момент стоит вопрос про среднеазиатский регион... |
| Узбекские и туркменские товарищи еще в 90-е перешли на латиницу, так что их это не касается. Нурсултан Абишевич недавно сделал такой же подарок Казахстану, ситуация там непонятна. В Киргизии и Таджикистане до сих пор используется кириллица. Для Казахстана есть свой стандарт кодировки для кириллицы, расширение 1251, но трех дополнительных киргизских букв там нет. Есть еще какая-то кодировка Cyrillic Asiam или Windows PT CP 154, разработанная какой-то фирмой. Но насколько она распространена и используется ли вообще - сказать не могу. Так что вопрос 8-ми битной кодировки остается открытым.
|
|
|
|
| постоянный участник
|
Пост N: 369
Зарегистрирован: 29.05.10
|
|
Отправлено: 04.09.19 14:51. Заголовок: Новичок пишет: *ну ..
Новичок пишет: цитата: | *ну что же, будем ждать - когда Hb + MiniGUI на UTF8 перепилят) спс всем |
| Да не надо ждать. Если делается не разовое латание дыр, не курсавая то используйте FiveWin. Это проф.инструмент и поэтому не только графический интерфейс . Достаточно много своих функций и решений. Харбор используется , как подмножество. UTF8 поддерживается. Т.е. Хинди работает :) несколько вопросов: а) учтено работа с: 1.Excel 2.Word 3.XML 4.PDF Учтена. 5.клиент-серверная Да 6.мобильная для начала Не ясен вопрос. На всякий случай-есть сборки под все платформы. Если это планшет, телефон.... с виндой , то стандартный FW поддерживает "палец" :) Но сегодня гораздо больший интерес вызывае mod_harbor в дальнейшем понадобятся и остальные: Socket, SQlite, MySQl, Postgres,... и т.д. Работает. Кстати это не только харбор. Точнее все гораздо смешнее , если хотите шире и глубже( это отностся и к перечисленному выше):) Нужен нормальный бровс и он есть. Нет разницы с DBF идет работа или SQL. А можно эту разницу и учитывать ( формировать SQL запросы и т.д.) так как синтасис это позволяет. Плюс различные доработки в этой области . Например чисто своя работа ( без сторонних библиотек) с MariaDB / MySq . Кстати Языки, поддерживаемые сервером MySql: по умолчанию английский, но они также могут отображаться на любом из нескольких других языков: чешский, датский, голландский, эстонский, французский, немецкий, греческий, венгерский, итальянский, японский, корейский, норвежский, норвежский- Нью-Йорк, Польский, Португальский, Румынский, Русский, Словацкий, Испанский или Шведский. б) сильно различаются от MiniGUI (синтаксис) Не сказал бы. FiveWin поддерживает несколько, поэтому можно выбрать для себя удобный. На мой взгляд проще и прозрачней чем MiniGUI в) что используется PREVIEW (на печать; UTF8) Варианты есть разные начиная от встроенного генератора отчетов...
|
|
|
|
| moderator
|
Пост N: 1369
Зарегистрирован: 06.07.06
|
|
Отправлено: 04.09.19 18:52. Заголовок: ММК пишет: Если дел..
ММК пишет: цитата: | Если делается не разовое латание дыр, не курсавая то используйте FiveWin. |
| Вообще-то, вы только-что сказали, что продукт труда большинства здесь присутствующих - это уровень "курсавых". Хочется надеяться, что это оговорка сгоряча, в пылу спора, но все же надо как-то следить за языком. Если по сути, Fivewin, безусловно, солидный продукт с уже более чем 25-летней историей, и набор функций его Windows-версии, несомненно, выше, чем у всех других Harbour GUI-библиотек. Но окошки и "контролы" он делает те же самые и качество конечных приложений зависит не от используемого GUI, а от разработчика.
|
|
|
|
|
| |
Пост 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 загнал латвийское слово, на выходе получил обычный кракозябр вместо š. Или чего-то не хватает или я вообще что-то делаю не так.
|
|
|
|
| постоянный участник
|
Пост 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 у меня дело не дошло. Попробуйте вариант выше, по идее должен получится
|
|
|
|
| постоянный участник
|
Пост 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" )
|
|
|
|
| |
Пост N: 278
Зарегистрирован: 05.11.05
|
|
Отправлено: 28.11.20 15:09. Заголовок: SergKis пишет: и ве..
SergKis пишет: цитата: | и вернулся к старой unucode версии |
| Т.е. она не на Минигуи?
|
|
|
|
| |
Пост 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 И ничего не изменилось. Надо кодировку самого текста программы менять? Или что делать?
|
|
|
|
| постоянный участник
|
Пост 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" ) ...
|
|
|
|
| постоянный участник
|
Пост N: 3515
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.11.20 16:50. Заголовок: PS Это должна быть к..
PS Это должна быть кодировка 1257
|
|
|
|
| |
Пост N: 280
Зарегистрирован: 05.11.05
|
|
Отправлено: 28.11.20 17:09. Заголовок: SergKis Ну хорошо, ..
SergKis Ну хорошо, допустим, я сделаю программу в латвийской кодировке и смогу сделать в ней русский контрол. Хотя у меня задача в русской программе сделать иноязычные контролы, в первую очередь немецкий. Поэтому и старался в 1251 вписывать другие фонты. SergKis пишет: цитата: | Все тексты программ проектов, т.к. не было редактора с LV866, в utf8 |
| Может быть текст самой программы надо с 1251 в utf8 перевести? А вся контролы, в т.ч. и русский делать фонтами, как у вас?
|
|
|
|
| постоянный участник
|
Пост 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 установкой
|
|
|
|
| постоянный участник
|
Пост 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.
|
|
|
|
| |
Пост 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 Но это не работает. Вместо ü русский ь. Вместо ß русское Я.
|
|
|
|
| |
Пост 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")) // всё работает
|
|
|
|
| постоянный участник
|
Пост 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 в пост. работе
|
|
|
|
| постоянный участник
|
Пост 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 г.
|
|
|
|
| постоянный участник
|
Пост 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 вариант, там было и пробовать
|
|
|
|
| |
Пост N: 284
Зарегистрирован: 05.11.05
|
|
Отправлено: 01.12.20 11:59. Заголовок: Спасибо за советы! Б..
Спасибо за советы! Буду пробовать дальше. SergKis пишет: цитата: | ввод с клавиатуры лат. языка и др. контролы (наверно не поймут) я не пробовал. |
| Не понял, у вас же работают с двумя языками. Я думал, их и вводят в какие-то поля при необходимости. Но у вас вообще беда, ведь могут быть тексты на смеси языков, как вы с ними без utf работаете не представляю. SergKis пишет: Базы-то у меня изначально в utf.
|
|
|
|
| постоянный участник
|
Пост 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, если что
|
|
|
|
| |
Пост N: 285
Зарегистрирован: 05.11.05
|
|
Отправлено: 02.12.20 22:46. Заголовок: Нашел пример с порту..
Нашел пример с португальским меню: C:\MiniGUI\SAMPLES\Advanced\DriveMapping\ У меня оно неверно показывается. Язык, естественно в тексте меняю. Там английский стоит по умолчанию, а португальский закомментарен. Всячески игрался с настройками, ничего не вышло. Попробовал сделать ошибки и посмотреть сообщения. Вообще чуднО выдает. Вместо parametros пишет parŕmetros. В примере: C:\MiniGUI\SAMPLES\Applications\Biorhythm\ польский, португальский, словенский неверно показываются.
|
|
|
|
| постоянный участник
|
Пост 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 вариант, там было и пробовать |
|
|
|
|
|
| |
Пост N: 286
Зарегистрирован: 05.11.05
|
|
Отправлено: 02.12.20 23:44. Заголовок: SergKis пишет: у ва..
SergKis пишет: цитата: | у вас русский windows и др. языки будут искажаться на ерунду |
| Я нечто подобное подозревал: rvu пишет: цитата: | Или чего-то не хватает или я вообще что-то делаю не так. |
| Если я свою программу скопирую на немецкую винду, то там будут кракозябры? Да, это очевидно. А если там в винду русский текст добавлен? Как-то пришлось под немецкой виндой что-то делать, но я тогда с консолью работал, 866 страницей, что-то менял в настройках, потом отдавая компьютер хозяину, вернул эти изменения на место. А страница 1251 у него и так есть. Вот если я у себя добавлю в винду, например, польский язык, я увижу их корректный текст в программе?
|
|
|
|
| постоянный участник
|
Пост N: 3524
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.20 00:13. Заголовок: rvu Вы же уже попро..
rvu Вы же уже попробовали на рус. windows цитата: | Вообще такое ощущение, что программа у меня только с русским языком дружит: SET CODEPAGE TO SPANISH SET LANGUAGE TO SPANISH AlertInfo(hb_Utf8ToStr('Ññ',"ESWIN")) // неправильно показывает AlertInfo(hb_Utf8ToStr('Проба текста',"RU1251")) // всё работает |
| цитата: | Как-то пришлось под немецкой виндой что-то делать, но я тогда с консолью работал, 866 страницей |
| У нас немцы приходили с линуксом, clipper и ads в начале 2000х, но их выжили. цитата: | Вот если я у себя добавлю в винду, например, польский язык, я увижу их корректный текст в программе? |
| Нет, надо что бы windows был на польском. У нас, как правило, ставят windows клиенты с LVWIN (нац. озабоченные) и с RU1251 остальные и когда делал пример с тсб и hardset имел ввиду на 1ой в prg ставлю codepage LVWIN (1257), на 2ой RU1251. В Language системы 3и языка EN, LV, RU (как минимум)
|
|
|
|
| постоянный участник
|
Пост N: 3525
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.20 00:18. Заголовок: PS Лат. windows - эт..
PS Лат. windows - это все сообщения, меню, кнопки, титулы ... все на латышском (веселуха еще та, т.к. могут отличаться от EN вариантов)
|
|
|
|
| |
Пост N: 287
Зарегистрирован: 05.11.05
|
|
Отправлено: 03.12.20 06:23. Заголовок: SergKis пишет: Нет,..
SergKis пишет: цитата: | Нет, надо что бы windows был на польском. У нас, как правило, ставят windows клиенты с LVWIN (нац. озабоченные) и с RU1251 остальные и когда делал пример с тсб и hardset имел ввиду на 1ой в prg ставлю codepage LVWIN (1257), на 2ой RU1251. В Language системы 3и языка EN, LV, RU (как минимум) |
| Не понимаю. На винде с RU1251 это у вас работает? А если я добавлю язык разве у меня не будет - В Language системы "3и языка (как минимум)"? Т.е. я не понимаю, как у вас три языка и больше, если они не добавлены потом в национальный виндоус. Если у вас ставят windows клиенты с LVWIN, разве они потом не добавляют русский, как я польский (или немецкий) хотел для примера добавить?
|
|
|
|
| постоянный участник
|
Пост N: 3526
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.20 10:26. Заголовок: rvu пишет Если у вас..
rvu пишет цитата: | Если у вас ставят windows клиенты с LVWIN, разве они потом не добавляют русский, как я польский (или немецкий) хотел для примера добавить? |
| Для unicode добавляйте сколько надо языков, для не unicode hmg что стоит в Region control panel. У меня windows EN, Region - Russian, Local - Latvia. Languge - EN, LV, RU. Для hmg LVWIN недоступен Region - Latvia, Local - Latvija. Languge - EN, LV, RU. Для hmg RUSSIAN недоступен Как работать в hb VWT режиме смотрите тексты hbedit редактора (не GUI), кусочек ... hb_cdpSelect( "RU866" ) @ 09, 10, 15, 72 BOX "┌─┐│┘─└│ " @ 13, 20 SAY "├" @ 13, 60 SAY "┤" @ 13, 11 TO 13, 71 hb_cdpSelect( oEdit:cp ) @ 10, 12 SAY "Open file" @ 12, 12 SAY "[ ] ReadOnly" @ 12, 27 SAY "[ ] In a current window" ... т.е. рамочки ru866, надписи en, oEdit:cp - выбранный язык текста
|
|
|
|
| |
Пост N: 289
Зарегистрирован: 05.11.05
|
|
Отправлено: 03.12.20 12:39. Заголовок: Т.е. это "Язык п..
Т.е. это "Язык программ не поддерживающих Юникод"? Я могу выбрать немецкий, тогда у меня всё в Минигуи на немецком заработает, но вместо русского?
|
|
|
|
| постоянный участник
|
Пост N: 3527
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.20 13:02. Заголовок: rvu пишет Я могу выб..
rvu пишет цитата: | Я могу выбрать немецкий, тогда у меня всё в Минигуи на немецком заработает, но вместо русского? |
| Да. Только тсб можно исп. для отображения с исп. chardset, т.е. для DE надо знать номер charset, что бы исп. с RUSSIAN cdp. Примечание для GUI интерфейса. Если исп. unicode HwGui, там таблицы это как BROWSE в hmg и если вам нужны многострочные строки, заголовки, подножия, superheader, то этого там нет
|
|
|
|
| постоянный участник
|
Пост N: 3528
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.20 13:47. Заголовок: PS Есть пример в мин..
PS Есть пример в минигуи с _MIXEDMODE_ с запуском окна ShowConsole( cConsoleTitle ) ... HideConsole( cConsoleTitle ) посмотрите, может под ним можно организовать ввод DE данных. Я не смотрел за ненадобностью, просто вспомнил про _MIXEDMODE_
|
|
|
|
| постоянный участник
|
Пост N: 3529
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.20 15:22. Заголовок: PS2 Посмотрел пример..
PS2 Посмотрел пример BASIC\MixedMode, в build.bat вместо gtwin исп. gtwvt -> получил окно wvt. Так понимаю, что редактор hbedit можно встроить в такие окна (gtwin, gtwvt) и работать с текстами в разных кодировках, потом писать тексты можно в dbf
|
|
|
|
| |
Пост N: 290
Зарегистрирован: 05.11.05
|
|
Отправлено: 03.12.20 18:45. Заголовок: Подумалось, а если с..
Подумалось, а если сделать свой шрифт? Взять готовый фонт и заменить какие-нибудь русские буквы немецкими. Далее подключить этот фонт к винде и указывать его в нужных контролах. Работать с ним, как с обычным русским текстом, для харбора и для базы он таким и будет, только показываться будут символы из особого фонта. Заменить русские буквы, которые на тех клавишах, что на немецкой клавиатуре. Можно сделать и виртуальную клавиатуру для ввода этих знаков. Как такая идея? Реализуема? Хочу сразу много критики, чтобы время впустую не тратить.
|
|
|
|
| постоянный участник
|
Пост N: 3530
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.20 19:13. Заголовок: rvu Вы посмотрели т..
rvu Вы посмотрели тексты hbedit ? Можно для начала взять для -gtwvt установки для окна ... IF Empty( nScreenH ) nScreenH := 25 ENDIF IF Empty( nScreenW ) nScreenW := 80 ENDIF IF nScreenH != 25 .OR. nScreenW != 80 IF !SetMode( nScreenH, nScreenW ) nScreenH := 25 nScreenW := 80 ENDIF ENDIF ... IF Empty( cFontName ) hb_gtinfo( HB_GTI_FONTNAME, "Lusida console" ) ELSE hb_gtinfo( HB_GTI_FONTNAME, cFontName ) ENDIF IF Empty( nFontWidth ) hb_gtinfo( HB_GTI_FONTWIDTH, Int( ( hb_gtinfo( HB_GTI_DESKTOPWIDTH ) / nScreenH ) ) ) ELSE hb_gtinfo( HB_GTI_FONTWIDTH, nFontWidth ) ENDIF IF Empty( nFontHeight ) hb_gtinfo( HB_GTI_FONTSIZE, Int( ( ( hb_gtinfo( HB_GTI_DESKTOPHEIGHT ) - 64 ) / nScreenW ) ) ) ELSE hb_gtinfo( HB_GTI_FONTSIZE, nFontHeight ) ENDIF IF yPos != Nil hb_gtinfo( HB_GTI_SETPOS_XY, xPos, yPos ) ENDIF hb_gtinfo( HB_GTI_CLOSABLE, .F. ) IF lMaximize hb_gtinfo( HB_GTI_MAXIMIZED, .T. ) ENDIF hb_cdpSelect( "UTF8" ) и GET ввод уже будет utf8. Имея handle окна им можно управлять, скрывая, поднимая, располагая в нужных местах и уст. кол-во строк и ширину и т.д. Т.е. МиниГуи обеспечивает интерфейс RUSSIAN\EN + отображение тсб таблицы с charset языками, окно gtwvt ввод и просмотр de и др. языков, отличных от RUSSIAN
|
|
|
|
| |
Пост N: 291
Зарегистрирован: 05.11.05
|
|
Отправлено: 03.12.20 19:29. Заголовок: SergKis пишет: Т.е...
SergKis пишет: цитата: | Т.е. МиниГуи обеспечивает интерфейс RUSSIAN\EN + отображение тсб таблицы с charset языками, окно gtwvt ввод и просмотр de и др. языков, отличных от RUSSIAN |
| SergKis пишет: цитата: | Повторю, MiniGui однобайтная, как и hb сборка с ней. |
| Т.е. нужно будет собирать часть программы в МиниГуи, а часть в другом харборе и писать обмен данными через базы? А насчет моей идеи что скажете? Просто интересно. Может, сразу забракуете, возможно, я о чем-то не подумал. Хотя бы теоретически это может быть реализуемо?
|
|
|
|
| постоянный участник
|
Пост N: 3531
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.20 19:40. Заголовок: rvu пишет Т.е. нужно..
rvu пишет цитата: | Т.е. нужно будет собирать часть программы в МиниГуи, а часть в другом харборе и писать обмен данными через базы? |
| Пример BASIC\MixedMode посмотрите, там два окна есть сразу, можете даже переключаться между ними (gtwin окно минимизировано). Т.е. в _MIXEDMODE_ одна прогр. MiniGui и два интерфейса, окно gtwin\gtwvt и окна GUI цитата: | А насчет моей идеи что скажете? Просто интересно. Может, сразу забракуете, возможно, я о чем-то не подумал. Хотя бы теоретически это может быть реализуемо? |
| Вы описали фонт как LV866 3-и языка, но работает он в unicode сборке.
|
|
|
|
| |
Пост N: 292
Зарегистрирован: 05.11.05
|
|
Отправлено: 03.12.20 19:49. Заголовок: SergKis пишет: Прим..
SergKis пишет: цитата: | Пример BASIC\MixedMode посмотрите, там два окна есть сразу |
| Я смотрел с окном gtwvt. Мне непонятно, как эти данные программа минигуи будет обрабатывать, если она однобайтная.
|
|
|
|
| |
Пост N: 293
Зарегистрирован: 05.11.05
|
|
Отправлено: 03.12.20 20:00. Заголовок: SergKis пишет: Вы о..
SergKis пишет: цитата: | Вы описали фонт как LV866 3-и языка |
| Нет, кодировка такая же, 1251, но есть особый фонт, где часть русских букв заменена. Пишется, допустим, font ‘MyArial’. А в нем по коду русской буквы выдается начертание немецкой.
|
|
|
|
| постоянный участник
|
Пост N: 3532
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.20 20:48. Заголовок: rvu пишет Нет, кодир..
rvu пишет цитата: | Нет, кодировка такая же, 1251 |
| Так и LV866 это RU866, где часть псевдогрфики заменена, а FR, LV, ... (26 языков европы) куда денете. Не проще ли hmg тексты перевести в unicod ? ВААЩЕ пробблем не будет.
|
|
|
|
| постоянный участник
|
Пост N: 3533
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.20 21:13. Заголовок: rvu пишет Мне непоня..
rvu пишет цитата: | Мне непонятно, как эти данные программа минигуи будет обрабатывать, если она однобайтная. |
| Так данные в utf8. Присваиваете программе hmg имя SET STATIONNAME TO "MAINPROC" для передачи данных по сообщению и передаете, если надо в hmg SendData( "MAINPROC", R2 ) // ф-я FN1 или пишете в раздельно открытый dbf поле в кодировке utf8 REPLACE U_FLD1 with R2 а в hmg передаете, что работа в wvt закончена, например SendData( "MAINPROC", 1 ) // типа код завершения в GUI окне получив команду можете для тсб сделать :Refresh() или :DrawSelect() - перепоказать таблицу или строку Не помню, оч. давно не работал с gtwvt, можно ли там поймать сообщение WM_COPYDATA, а то можно было бы организовать обмен командами, но в принципе и то что есть много что дает по мне, для работы в однобайтной среде
|
|
|
|
| постоянный участник
|
Пост N: 3534
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.20 21:24. Заголовок: PS Стандартные контр..
PS Стандартные контролы не покажут ничего с de, это ложится на окно gtwvt, тсб должна показать колонку по фонту с charset для DE oCol:bData := {|| hb_UtfToStr((oBrw:cAlias)->U_FLD1, "DEWIN") } oCol:hFont := GetFontHandle("FONT_DE") надо пробовать
|
|
|
|
| постоянный участник
|
Пост N: 3535
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.20 21:30. Заголовок: PS2 SergKis пишет ил..
PS2 SergKis пишет цитата: | или пишете в раздельно открытый dbf поле в кодировке utf8 |
| Сори, это одна программа, можно передать в FN1 алиас и не надо повторного открытия
|
|
|
|
| |
Пост N: 294
Зарегистрирован: 05.11.05
|
|
Отправлено: 03.12.20 21:30. Заголовок: SergKis пишет: а FR..
SergKis пишет: цитата: | а FR, LV, ... (26 языков европы) куда денете |
| Мне в ближайшее время актуальны только Германия и Франция. И то это не очень срочное дело. В идеале мне, конечно, нужен utf8, а это костыли какие-то. Но отдельные окошки в другой программе это тоже некий костыль и придется передавать кучу данных туда сюда. Но, это более универсальный способ, хотя, наверное, более трудоемкий. А есть надежда на появление utf8 в Минигуи? Это зависит от Григория?
|
|
|
|
| постоянный участник
|
Пост N: 3536
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.20 22:13. Заголовок: rvu пишет А есть над..
rvu пишет цитата: | А есть надежда на появление utf8 в Минигуи? Это зависит от Григория? |
| Наверно, больше от энтузиастов, т.к. надо внимательно прошерстиь C тексты, сделать изменения констант '...' на _TEXT('...') выделение памяти где было на n байт увеличить n*2 и может еще, что, подзабыл уже (не сишник и делал это давно), но главное протестировать, т.к. пропущенное сразу не увидишь. Так они были в window всегда после dos clipper времен до hb unicode реализаций (это 2009 г появилась hb 2.0). цитата: | Но, это более универсальный способ, хотя, наверное, более трудоемкий. |
| Если работаете с memo полями, то их, как правило дают править\вводить в отдельном wvt окне, тут это может быть сделано также, т.е. в тсб показываете часть текста в строке, а все в окне ввода\корректировке. Ввод\корректировку можно всю перенести на gtwvt окно - как в clipper (без обработки мышинных событий, это совсем просто) ввод всех данных записи из тсб и запись этих значений в dbf, SetKey(...) в gtwvt никто не отменял. Есть еще gtwvg (в contrib hb) с gui элементами (toolbar, button, label ...) но такой либы в hmg нет, можно было бы их (контролы) исп. на доп. окне. - веселее было бы. Но надо пробовать, будут ли hmg ON KEY ... ACTION ... пересекаться с SetKey(...) gtwvt и все остальное
|
|
|
|
| постоянный участник
|
Пост N: 3537
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.20 22:26. Заголовок: PS на окне gtwvt мож..
PS на окне gtwvt можно задействовать и tbrowse на dbf, думаю будет работать и на поля utf8 при cdp utf8 без лишних ф-й перекодировки hb_utf8ToStr(..., ""DEWIN)
|
|
|
|
| |
Пост N: 295
Зарегистрирован: 05.11.05
|
|
Отправлено: 04.12.20 00:57. Заголовок: Спасибо! Буду что-ни..
Спасибо! Буду что-нибудь пробовать. SergKis пишет: цитата: | Наверно, больше от энтузиастов, т.к. надо внимательно прошерстиь C тексты |
| Энтузиастов со знанием C? SergKis пишет: цитата: | но главное протестировать, т.к. пропущенное сразу не увидишь |
| Это, наверное, в процессе работы тестируется? Или по определенному плану все функции? Но собирает это всё вместе Георгий? То есть без его энтузиазма ничего не выйдет. Сначала надо вообще определить, кому и насколько это нужно.
|
|
|
|
| |
Пост N: 297
Зарегистрирован: 05.11.05
|
|
Отправлено: 04.12.20 15:19. Заголовок: SergKis, да, вы прав..
SergKis, да, вы правы, самое разумное делать еще одно уникодное приложение и соединять его с основной программой. Чем больше думал насчет своей идеи о фонтах, тем меньше она мне нравилась. На одни костыли надо другие делать, дичь какая-то получается. Но хоть узнал про смешанные кодировки, это было интересно.
|
|
|
|
| |
Пост N: 304
Зарегистрирован: 05.11.05
|
|
Отправлено: 06.01.21 18:37. Заголовок: SergKis пишет: Рабо..
SergKis пишет: цитата: | Рабочая наша версия это hb 3.2 unicode |
| А где ее взять? Решил попробовать с консольными уникодными программами поиграться. А если с каким-нибудь примером вообще шикарно было бы.
|
|
|
|
| постоянный участник
|
Пост N: 3558
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.01.21 21:13. Заголовок: rvu пишет А где ее в..
rvu пишет Собрать исходники hb в unicode, есть параметр сборки _UNICODE_, но лучше гляньте, как пишется точно, по памяти могу ошибиться
|
|
|
|
| постоянный участник
|
Пост N: 7135
Зарегистрирован: 12.09.06
|
|
Отправлено: 23.11.21 20:22. Заголовок: Pasha пишет: Можно ..
Pasha пишет: цитата: | Можно ли использовать 8-ми битную казахскую кодировку KZ-1048, или СТ РК 1048—2002 (это расширение cp1251). Насколько она распространена ? Проверьте пожалуйста казахский алфавит: |
| Мне наверное потребуется эта кодировка в МиниГуи. Как подключить её к однобайтовой текущей версии ?
|
|
|
|
| постоянный участник
|
Пост N: 7141
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.11.21 20:35. Заголовок: https://serj129.ucoz..
https://serj129.ucoz.ru/publ/kodirovki_kazakhskogo_jazyka/1-1-0-13#L5.2.1.5 5.2.1.5 Кодировка KZ-1048 Этот долгожданный официально принятый 8-битовый стандарт кодировки казахского языка приведен в Таблице A. стандарта почему-то в первую очередь пожертвовали совместимостью с украинским и белорусским языками, заодно и сербским и македонским, хотя мест, занимаемых сербско-македонскими буквами вполне хватало для размещения всех казахских букв, а совместимость с украинцами и белорусами можно было сохранить - все же связи с этими странами большие да и украинцев в Казахстане довольно много. В результате места части сербско-македонских букв остались не к селу не к городу... Такое впечатление что авторы стандарта на продумали так тщательно, как следовало бы (наверно времени не хватило). Ну, вот теперь будем жить с таким стандартом... Кодировка стараниями А.Веремеева из Oracle (спасибо ему!) зарегистрирована в IANA.org под названием KZ-1048. Ранее использованное в данной статье название кодировки RK1048, зарегистрированно как синоним (alias).
|
|
|
|
| |
Пост N: 1817
Зарегистрирован: 20.02.11
|
|
Отправлено: 26.11.21 20:47. Заголовок: Andrey пишет: Ну, в..
Andrey пишет: цитата: | Ну, вот теперь будем жить с таким стандартом... |
| Андрей, во первых на не привыкать. Во вторых, это первый блин... уверен дальше их будет много разных и "вкусных"
|
|
|
|
| постоянный участник
|
Пост N: 7142
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.11.21 20:53. Заголовок: Haz пишет: Андрей, ..
Haz пишет: цитата: | Андрей, во первых на не привыкать. Во вторых, это первый блин... уверен дальше их будет много разных и "вкусных" |
| Да нет, это нормальный и последний стандарт для казахского. Я кучу сайтов пересмотрел. Пишу об этом, потому что надо мне свою прогу на казахский делать. Перевод меню и базу. А этот казахский базируется на RU1251 - очень удобно, тексты не нужно в UTF8 переводить. На украинский я менюшки перевел (сделал отдельный файл МояПрога.ua, я писал об этом здесь на форуме) и осталось базу перевести. Не всё так быстро получается.
|
|
|
|
| |
Пост N: 7491
Зарегистрирован: 17.05.05
|
|
Отправлено: 26.11.21 21:12. Заголовок: Andrey пишет: Пишу ..
Andrey пишет: цитата: | Пишу об этом, потому что надо мне свою прогу на казахский делать. |
| Хорошо не на китайский или грузинский :)
|
|
|
|
| Администратор
|
Пост N: 4053
Зарегистрирован: 23.05.05
|
|
Отправлено: 02.12.21 08:08. Заголовок: Перенесу-ка я обсужд..
Перенесу-ка я обсуждение сюда. Сделал кодировку для kz-1048 (еще два года назад), Андрей сейчас ее тестирует. Мы общаемся по почте Возникла проблема: при установленной KZWIN (так я ее назвал) HMG TSBrowse неправильно показывает казахские символы Андрей грешит на KZWIN, но причина вовсе не в ней. Можно взять любой текст в этой кодировке (или самому сделать текстовый файл), открыть его блокнотом. Символы будут показываться неправильно Поиграться со шрифтами, поменять charset (набор символов). Ну нет в стандартных шрифтах charset для kz-1048 По-видимому, надо искать соответствующий шрифт Вот нашел ссылку, где курят эту тему: https://vse.kz/topic/39374-problemi-s-kazahskimi-shriftami/page-12 Еще вариант: смотреть в сторону полной уникодности
|
|
|
|
| постоянный участник
|
Пост N: 3953
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.12.21 08:33. Заголовок: Pasha пишет смотреть..
Pasha пишет цитата: | смотреть в сторону полной уникодности |
| Без вариантов, именно так Андрей мне тоже прислал вариант txt с языками, я его в ini превратил и сделал пример unicode Тут смотреть https://TransFiles.ru/s3v4w LV - правильно, остальные языки надо проверить gfilatov2002 MiniGuiVersion() выдает ANSI, а надо UNICODE
|
|
|
|
| постоянный участник
|
Пост N: 7153
Зарегистрирован: 12.09.06
|
|
Отправлено: 02.12.21 10:45. Заголовок: Pasha пишет: Символ..
Pasha пишет: цитата: | Символы будут показываться неправильно Поиграться со шрифтами, поменять charset (набор символов). Ну нет в стандартных шрифтах charset для kz-1048 По-видимому, надо искать соответствующий шрифт |
| Т.е. этот вариант может прокатить, если иметь рядом с программой нужные шрифты и подгружать их в свою прогу ? Фигово, но хоть можно будет работать. Вот нашёл https://life.ansor.info/kazakh_shrift/ Подойдут такие ? Pasha, надо бы как у всех языков сделать, чтобы не путаться: hb_cdpSelect( "KZWIN" ) HB_LANGSELECT("KZWIN") hb_cdpSelect( "DEWIN" ) HB_LANGSELECT("DEWIN")
|
|
|
|
| moderator
|
Пост N: 1954
Зарегистрирован: 11.02.10
|
|
Отправлено: 02.12.21 11:16. Заголовок: SergKis пишет: Mini..
SergKis пишет: цитата: | MiniGuiVersion() выдает ANSI, а надо UNICODE |
| У меня этот пример, собранный Unicode сборкой, выдал все правильно: цитата: | ver. = Harbour MiniGUI Extended Edition 21.11.0 (32-bit) UNICODE v.m. = 21.11.0 numba = 211100 CODEPAGE = UTF8 LANGSELECT = EN |
| и размер экзешника у меня больше (2 287 104 байт) против вашего (2 226 176 байт)
|
|
|
|
| постоянный участник
|
Пост N: 3954
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.12.21 11:56. Заголовок: gfilatov2002 Был не..
gfilatov2002 Был не прав, по инерции поправил путь в minigui.cfg на MiniGuiBcc58 MG_ROOT=c:\minigui Bcc58Unicode исправил, все стало на место
|
|
|
|
| Администратор
|
Пост N: 4054
Зарегистрирован: 23.05.05
|
|
Отправлено: 02.12.21 12:18. Заголовок: Andrey пишет: Т.е. ..
Andrey пишет: цитата: | Т.е. этот вариант может прокатить, если иметь рядом с программой нужные шрифты и подгружать их в свою прогу ? Фигово, но хоть можно будет работать. Вот нашёл https://life.ansor.info/kazakh_shrift/ Подойдут такие ? |
| Нужен не просто шрифт с казахскими символами, они я думаю есть и в стандартных шрифтах. Нужен шрифт с charset для кодировки KZ-1048 цитата: | Pasha, надо бы как у всех языков сделать, чтобы не путаться: hb_cdpSelect( "KZWIN" ) HB_LANGSELECT("KZWIN") hb_cdpSelect( "DEWIN" ) HB_LANGSELECT("DEWIN") |
| KZWIN я переименую в KZ1048, так думаю будет правильнее Языковый модуль в харборе именуется двумя символами, так как он не привязан к кодировке Для совместимости есть возможность указывать то же имя, что и для кодировки
|
|
|
|
| постоянный участник
|
Пост N: 7154
Зарегистрирован: 12.09.06
|
|
Отправлено: 02.12.21 13:15. Заголовок: Pasha пишет: Латышс..
Pasha пишет: Pasha пишет: цитата: | Спасибо, поправлю. Добавлю еще до кучи эстонский, и предложу в devlist |
| А уже добавлены эти языки в Харбор ? И ещё вопрос по белорусской кодовой странице - когда будет в Харборе ? Ну и до кучи тогда и добавить казахский язык, как есть. А когда потребуется будем допиливать...
|
|
|
|
| Администратор
|
Пост N: 4055
Зарегистрирован: 23.05.05
|
|
Отправлено: 02.12.21 13:21. Заголовок: Еще не добавлены, но..
Еще не добавлены, но у тебя же они все есть Сейчас ты их напрямую указываешь при сборке проекта, а так они булут в библиотеках hbang и hbcpage, вот и вся разница
|
|
|
|
| постоянный участник
|
Пост N: 7155
Зарегистрирован: 12.09.06
|
|
Отправлено: 02.12.21 13:28. Заголовок: Pasha пишет: Еще не..
Pasha пишет: цитата: | Еще не добавлены, но у тебя же они все есть |
| Да это сколько тащить лишних модулей надо то... И в библиотеку Григорию добавлять примеры будет сложно, много лишних модулей. Белорусский язык есть, а кодовых страниц нет. В пример Tsb_5Win добавил работу с 4 языками и не хотелось бы туда тащить С-модули.
|
|
|
|
| Администратор
|
Пост N: 4056
Зарегистрирован: 23.05.05
|
|
Отправлено: 02.12.21 13:48. Заголовок: Пожалуюсь вот. Как с..
Пожалуюсь вот. Как сложно стало жЫть :( Давно не заходил в groups.google.com. Авторизуюсь, ввожу емайл и пароль Гугл говорит: сомневаюсь в тебе, мил человек, подтверди себя. Послали тебе письмо с кодом Захожу в майл.ру, авторизуюсь. Майлру говорит: сомнительный ты какой-то, подтверди свой номер телефона. Подтверждаю, пускает. Даю гуглю код из письмя Гугль говорит: хорошо мол, но все равно я в тебе сомневаюсь, давай телефон, вышлю смс с кодом Даю телефон, получаю смс, кормлю его гуглю. Вижу свои группы и наслаждаюсь В сухом остатке гугль из меня выцепил номер телефона
|
|
|
|
| постоянный участник
|
Пост N: 3955
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.12.21 14:19. Заголовок: Как просил Андрей, п..
|
|
|
|
| постоянный участник
|
Пост N: 3956
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.12.21 15:48. Заголовок: Как просил Андрей, п..
Как просил Андрей, просмотр, чуть сложней, вставил в пример, на базе ф-ии _TBrowse() Тут смотрим https://TransFiles.ru/ju3qz PS Пропустил удаление dbf (добавляет записи всегда) fErase( App.Cargo:cDbf+".dbf" ) IF ! hb_FileExists(App.Cargo:cDbf+".dbf")
|
|
|
|
| moderator
|
Пост N: 1955
Зарегистрирован: 11.02.10
|
|
Отправлено: 02.12.21 16:25. Заголовок: SergKis пишет: прим..
SergKis пишет: цитата: | пример, на базе ф-ии _TBrowse() |
| Пример - понравился, добавлю его в unicode сборку
|
|
|
|
| постоянный участник
|
Пост N: 3957
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.12.21 16:33. Заголовок: gfilatov2002 пишет д..
gfilatov2002 пишет цитата: | добавлю его в unicode сборку |
| лучше чуть поправленный вариант. Тут https://TransFiles.ru/jwujq PS ф-ю oIniData( cIni, lMacro, lUtf8, cRazd ) может в lib к классу положить, что бы не таскать
|
|
|
|
| moderator
|
Пост N: 1956
Зарегистрирован: 11.02.10
|
|
Отправлено: 02.12.21 16:45. Заголовок: SergKis пишет: лучш..
SergKis пишет: цитата: | лучше чуть поправленный вариант |
| Ok SergKis пишет: цитата: | ф-ю oIniData( cIni, lMacro, lUtf8, cRazd ) может в lib к классу положить |
| Мне кажется, что ее можно заменить с помощью #xtranslate
|
|
|
|
| постоянный участник
|
Пост N: 3958
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.12.21 16:50. Заголовок: gfilatov2002 пишет М..
gfilatov2002 пишет цитата: | Мне кажется, что ее можно заменить с помощью #xtranslate |
| Не очень понимаю, что лучше 4 #xtranslate и следить, что бы не потерялись или ф-ю
|
|
|
|
| постоянный участник
|
Пост N: 3959
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.12.21 19:55. Заголовок: gfilatov2002 Поборо..
gfilatov2002 Поборолся еще немного с примером, добавил в ini вкл. edit и кол-во строк в отображении Memo поля Edit = .T. MemoHV = 5 можно поиграться в ini FontName, FontSize Пример тут https://TransFiles.ru/2a9vy
|
|
|
|
| moderator
|
Пост N: 1957
Зарегистрирован: 11.02.10
|
|
Отправлено: 02.12.21 20:39. Заголовок: SergKis пишет: Побо..
SergKis пишет: цитата: | Поборолся еще немного с примером |
| Большое спасибо
|
|
|
|
| постоянный участник
|
Пост N: 7156
Зарегистрирован: 12.09.06
|
|
Отправлено: 02.12.21 21:36. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Мне кажется, что ее можно заменить с помощью #xtranslate |
| А можно добавить ещё такую функцию ? FUNCTION ProcNL(nVal) DEFAULT nVal := 0 RETURN "Вызов из: " + ProcName( nVal + 1 ) + "(" + hb_ntos( ProcLine( nVal + 1 ) ) + ") --> " + ProcFile( nVal + 1 ) Надоело таскать из примера в пример.
|
|
|
|
| постоянный участник
|
Пост N: 3960
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.21 09:24. Заголовок: gfilatov2002 В прим..
|
|
|
|
| moderator
|
Пост N: 1958
Зарегистрирован: 11.02.10
|
|
Отправлено: 03.12.21 11:28. Заголовок: SergKis пишет: В пр..
SergKis пишет: цитата: | В примере поправил ошибки |
| Большое спасибо, только закомментировал одну строку цитата: | ... NEXT dbCreate(cDbf, aStru) // lDbf := hb_FileExists(App.Cargo:cDbf+".dbf") ENDIF |
| в противном случае создается пустой файл
|
|
|
|
| постоянный участник
|
Пост N: 3961
Зарегистрирован: 17.02.12
|
|
Отправлено: 03.12.21 12:19. Заголовок: gfilatov2002 пишет т..
gfilatov2002 пишет цитата: | только закомментировал одну строку |
| Была мысль соединить, добавление записей в том IF, но она потерялась Теперь нашлась. Думаю с примером завершил (добавил в ini и Footer наличие), SuperHeader в oTsb:bBody, кому надо, добавят Тут https://TransFiles.ru/h4y5t
|
|
|
|
| moderator
|
Пост N: 1959
Зарегистрирован: 11.02.10
|
|
Отправлено: 03.12.21 13:45. Заголовок: SergKis пишет: с пр..
SergKis пишет:
|
|
|
|
| постоянный участник
|
Пост N: 3962
Зарегистрирован: 17.02.12
|
|
Отправлено: 05.12.21 17:04. Заголовок: gfilatov2002 Поправ..
gfilatov2002 Поправил в примере пару ошибок в _TBrowse(), убрал команды This..., кое что добавил в ini Тут https://TransFiles.ru/kar5i В таком виде, можно в lib поместить _TBrowse(oTsb), как Андрей просил
|
|
|
|
| moderator
|
Пост N: 1961
Зарегистрирован: 11.02.10
|
|
Отправлено: 05.12.21 18:46. Заголовок: SergKis пишет: В та..
SergKis пишет: цитата: | В таком виде, можно в lib поместить |
| Большое спасибо Посмотрю, что можно сделать
|
|
|
|
| постоянный участник
|
Пост N: 3963
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.12.21 12:40. Заголовок: gfilatov2002 Пример..
|
|
|
|
| moderator
|
Пост N: 1962
Зарегистрирован: 11.02.10
|
|
Отправлено: 06.12.21 13:26. Заголовок: SergKis пишет: Прим..
SergKis пишет: цитата: | Пример (unicode hmg) тсб с codepage dbf |
| Благодарю за помощь Также сделал совсем крошечный пример с использованием новой функции: цитата: | Function TBrwTest() Local oBrw, ; cForm := GetUniqueName( "wMain" ) DbSelectArea( "Employee" ) DEFINE WINDOW &cForm TITLE "Customer List" CHILD NOSIZE oBrw := _TBrowse() AEval( oBrw:aColumns, {| oCol | oCol:lFixLite := .T., ; oCol:lEdit := .T., ; oCol:lOnGotFocusSelect := .T., ; oCol:lEmptyValToChar := .T. } ) ON KEY ESCAPE ACTION ( iif( oBrw:IsEdit, oBrw:SetFocus(), ThisWindow.Release ) ) END WINDOW CENTER WINDOW &cForm ACTIVATE WINDOW &cForm Return Nil |
|
|
|
|
|
| постоянный участник
|
Пост N: 7158
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.12.21 14:49. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Также сделал совсем крошечный пример с использованием новой функции: |
| А можно вообще обойтись без DEFINE WINDOW &cForm TITLE ..... ..... А сразу так: FUNCTION Main() RddSetDefault("DBFCDX") SET CODEPAGE TO UKRAINIAN // hb_SetCodepage( "UA1251" ) SET LANGUAGE TO UKRAINIAN // hb_CdpSelect( "UA1251" ) cAls := "UA_STREET" cDbf := GetStartUpFolder() + '\_Ua1251.dbf' cTtl := cAls + " , " + cDbf + " , UA1251" USE (cDbf) ALIAS (cAls) CODEPAGE "UA1251" NEW oBrw1 := _TBrowse(cTtl) SET LANGUAGE TO GERMAN SET CODEPAGE TO GERMAN cAls := "DE_STREET" cDbf := GetStartUpFolder() + '\_De1252.dbf' cTtl := cAls + " , " + cDbf + " , DEWIN" USE (cDbf) ALIAS (cAls) CODEPAGE "DEWIN" NEW oBrw2 := _TBrowse(cTtl) RETURN NIL Т.е. первое окно пускай создаётся MAIN, а потом другие WINDOWTYPE STANDARD ... NOWAIT Тогда на экране будет показаны сразу все нужные базы для просмотра. И кода меньше придётся писать....
|
|
|
|
| постоянный участник
|
Пост N: 3964
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.12.21 15:04. Заголовок: gfilatov2002 пишет Т..
gfilatov2002 пишет цитата: | Также сделал совсем крошечный пример с использованием новой функции: |
| Пример 2 тсб на окне с использованием новой функции https://TransFiles.ru/cl7ds Andrey пишет цитата: | И кода меньше придётся писать.... |
| Окна делай сам, иначе несколько тсб на окне не выйдет, смотри пример
|
|
|
|
| постоянный участник
|
Пост N: 7159
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.12.21 15:22. Заголовок: SergKis пишет: Окна..
SergKis пишет: цитата: | Окна делай сам, иначе несколько тсб на окне не выйдет, смотри пример |
| Пример классный ! Минимум кода и всё работает. Я так не могу.... А окна писать самому можно, согласен. Но хотелось просто узнать - возможно ли сделать пример без MAIN окна ! Проверку же можно сделать при вызове _TBrowse(...) cForm := "HMG_" + ALIAS() + "_" + HB_NtoS( _GetId() ) IF Empty( _HMG_MainHandle ) // --- Main window --- DEFINE WINDOW &cForm WIDTH nW HEIGHT nH TITLE cTitle ICON cIcon ; MAIN NOMAXIMIZE NOSIZE TOPMOST BACKCOLOR GRAY ; ON INIT {|| This.Topmost := .F. } ELSE lModal := _HMG_IsModalActive // если было вызвано последнее окно MODAL, то вернёт .T. IF lModal // --- MODAL window --- DEFINE WINDOW &cForm WIDTH nW HEIGHT nH TITLE cTitle ICON cIcon ; MODAL NOSIZE ; ON INIT {|| This.Topmost := .F. /*, oBrw:Setfocus() */ } ELSE // --- STANDARD window --- DEFINE WINDOW &cForm WIDTH nW HEIGHT nH TITLE cTitle ICON cIcon ; WINDOWTYPE STANDARD TOPMOST NOMAXIMIZE NOSIZE ; ON INIT {|| This.Topmost := .F. /*, oBrw:Setfocus()*/ } ENDIF ENDIF
|
|
|
|
| постоянный участник
|
Пост N: 3965
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.12.21 15:28. Заголовок: gfilatov2002 Давайт..
gfilatov2002 Давайте сразу в _TBrowse() сделаем цвет DEFAULT aColor := { ; { CLR_FOCUSB, {|c,n,b| c := n, iif( b:nCell == n, -CLR_RED , -RGB( 128, 225, 225 ) ) } }, ; { CLR_SELEF , GetSysColor( COLOR_WINDOWTEXT ) }, ; { CLR_SELEB , {|c,n,b| c := n, iif( b:nCell == n, -CLR_BLUE, -RGB( 128, 225, 225 ) ) } } ; } тогда в работе не надо делать дополнительно oBrw1:SetColor( { CLR_FOCUSB }, {{|c,n,b| c := n, iif( b:nCell == n, -CLR_RED, -RGB( 128, 225, 225 ) ) }} ) oBrw2:SetColor( { CLR_FOCUSB }, {{|c,n,b| c := n, iif( b:nCell == n, -CLR_RED, -RGB( 128, 225, 225 ) ) }} ) как в примере выше
|
|
|
|
| moderator
|
Пост N: 1963
Зарегистрирован: 11.02.10
|
|
Отправлено: 06.12.21 15:34. Заголовок: SergKis пишет: сраз..
SergKis пишет: цитата: | сразу в _TBrowse() сделаем цвет |
| OK SergKis Но при таком определении цвета у меня нет красного цвета при переключении фокуса с одного бровса на другой
|
|
|
|
| постоянный участник
|
Пост N: 3966
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.12.21 16:23. Заголовок: gfilatov2002 пишет Н..
gfilatov2002 пишет цитата: | Но при таком определении цвета у меня нет красного цвета при переключении фокуса с одного бровса на другой |
| У меня работает цвет при переходе фокуса с одного тсб на другой (красный есть) и при переключении на FAR оба тсб синий цвет ячеек в фокусе Пример https://TransFiles.ru/8yyrp PS Собрал пример в однобайтной сборке, все так же работает, как и в unicode
|
|
|
|
| moderator
|
Пост N: 1964
Зарегистрирован: 11.02.10
|
|
Отправлено: 06.12.21 16:37. Заголовок: SergKis пишет: У ме..
SergKis пишет: Разобрался (это был мой косяк ), сейчас все работает. Благодарю за помощь
|
|
|
Ответов - 125
, стр:
1
2
3
4
5
6
7
All
[только новые]
|
|