|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
Как выдернуть функцию локализации приложения в отдельную функцию из имеющегося проекта22.03.2014, 16:56. Показов 2692. Ответов 20
Метки нет (Все метки)
Ребята, помогите, уже глаза болят. У меня имеется проект неизвестного мне автора, в котором он представляет параметры\форматы определенной локализации (языка) системы (такие как дата время и так далее).
Так вот, простите если выражусь не правильно, но, как я заметил, и проверил, в данном проекте нет ни одного Юникодного контролла, но при запуске, она определяет и устанавливает локальные настройки системы к данному приложению, что даёт возможность использовать кириллицу и другие языки в системах Windows с установленной ТОЛЬКО английской версией интерфейса и локализации, тоесть... локализация системы не изменяется при запуске приложения, но приложение отображает кириллицу. Помогите выдернуть эту возможность в отдельный SUB, так чтобы в Form_Load просто добавлять одну строчку обращения к функции и приложение отображало кириллицу.! Очень надо... А то надоело уже мудрить с контроллами, чтобы русский текст отображать... А этот пример меня просто поразил... Но там много лишнего, что мне не нужно, а именно форматы дат и времени, валюты и так далее. мне только нужна поддержка кириллицы моим приложением.! PS можно в отдельный модуль упаковать... Либо может кто знает что-то похожее? Буду весьма благодарен.! А то приложение с русским текстом в английской системе рисуется вопросикми.! ![]() Да и вообще я думаю, конечный результат (модуль) можно будет поместить в тему Готовые решения и полезные коды на Visual Basic 6.0 так как я уверен многие задавались таким вопросом, но пока работают на уровне русских систем, а если международную программу писать и так далее.? Прошу помощи. Спасибо всем, кто откликнется. Пример прикладываю к теме.
1
|
|
| 22.03.2014, 16:56 | |
|
Ответы с готовыми решениями:
20
|
|
Модератор
|
||
| 22.03.2014, 19:34 | ||
Сообщение было отмечено Апострофф как решение
РешениеДобавлено через 3 минуты Я тебе говорил уже, попробуй поиграться с SetThreadLocale
3
|
||
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 23.03.2014, 09:05 [ТС] | |
|
А она не меняет системную локализаюцию,? Так как этого делать нельзя. Ну и на тему кириллицы я еще кое чего нашел, протестирую - расскажу, если конечно будет положительные результат.
А SetThreadLocale - я обязательно посмотрю, я закладочку себе добавил в TaskList спасибо Анатолий.
1
|
|
|
Модератор
|
||
| 23.03.2014, 10:50 | ||
|
У меня нет возможности тестирования, я не могу тебе точно сказать. Нужен шрифт, поддерживающий кириллические символы, нужно выбирать кириллический набор символов.
1
|
||
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 23.03.2014, 12:16 [ТС] | |
|
The trick, я про SetThreadLocale... насколько я понимаю она меняет локаль рантайм придожения но не системы... я проверю на английской, но не думаю что все пройдет очень гладко. А про кирилические символы, то я по умолчанию через SmartCode себе установил Arial Unicode MS... спасибо за совет с SetThreadLocale, всё-же я думвю копать надо именно в этом направлении... либо вот такой вариант на делфи cp1251: TMBCSEncoding;
cp1251 := TMBCSEncoding.create(1251); Memo1.Lines.DefaultEncoding := cp1251; Memo1.Lines.LoadFromFile(' 1.txt'); cp1251.Free; Я так понимаю это через скриптTMBCSEncoding.create(1251)??
1
|
|
|
Модератор
|
||
| 23.03.2014, 13:15 | ||
Сообщение было отмечено The trick как решение
РешениеТам есть трабла на новых системах по-моему с SetThreadLocale, почитай внимательно про нее. Ты сначала попробуй выбрать в контекст кириллический шрифт и печатай, все что выше 127 должно печататься кириллическими символами. Вот пример, поддержки стандартным лейблом множества языков UIMultilang.rar
4
|
||
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|||
| 23.03.2014, 15:56 [ТС] | |||
|
Добавлено через 3 минуты TMBCSEncoding.create() - это хорошо, но с ним придется каждый контрол перекодировать при старте? а это лишний гемморой... хотя, за не имением другого - можно взять... но всеже я хочу найти то что нужно и обьявлять единажды при запуске прижоления нужный язык и чтоб все подписи контроллов отображались согласно этой установке.
1
|
|||
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|||
| 23.03.2014, 16:01 [ТС] | |||
|
Добавлено через 54 секунды
1
|
|||
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
||
| 23.03.2014, 16:08 [ТС] | ||
|
тоесть при запуске можно зациклить .Font.Charset = 204 для каждого контролла и будет счастье? (204 это кириллица)
0
|
||
|
Модератор
|
|
| 23.03.2014, 16:11 | |
|
Нужно чтобы в шрифте была соответствующая кодовая таблица. Ты на той системе открой проект и у любого контрола свойство Font выбери в дизайнере, а в наборе символов выбери кириллицу. Посмотри как у тебя начнет отображаться
0
|
|
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 23.03.2014, 16:54 [ТС] | |
|
Проверил. Работает однако, и зачем мудрить с локалью, когда проще Юникодный текст вставить в .caption или .Text и выбрать Arial Unicode MS ну и установить .font.charset нужный...
Но вот заголовок формы не хочет принимать, хотя в моем тесте лэйбл отрисовал текст а заголовок был тоже кириллица но нн смог.! ((
0
|
|
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 23.03.2014, 17:05 [ТС] | |
|
Нути еще Lucida Sans Unicode в систеиах имеется... можно ей пользоваться. А вот стандартный MS Sans Serif хоть и имеет charset 204 но не рисует из юникода символы... так что его ф топку!!!
Добавлено через 6 минут Вобщем одна проблема решена... осталась друшая, проверить будет ли кирилический текст сохранятся из текст бокса либоткорироваться.! Надеюсь будет. И последнее, свойство Caprion адаптировать, но это можно не из свойств а при выполненит кода установить Caption = юникоду + нужный шрифт с кириллицей, должно работать...
0
|
|
| 23.03.2014, 19:26 | |
|
Не по теме: Юрий Комар, а что у Вас с кнопкой PrintScreen?
0
|
|
|
Модератор
|
||
| 23.03.2014, 21:30 | ||
|
Юрий Комар, я вообще не понимаю твоих высказываний, видимо ты не следовал моим советам.
0
|
||
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 24.03.2014, 23:41 [ТС] | |
|
The trick, я пробовал применить SetThreadLocale на xp английской - никак не реализует. .. Судя по ее описаниям она как раз в ХР имеет ограничение... точнее в хр ее просто нет... если я правильно понял
(Добавлено через 42 секунды Pro_grammer, это фото... я с телефона тут ьываю частенько...
0
|
|
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 24.03.2014, 23:57 [ТС] | |
|
The trick, все что посоветовал я попробовал... но SetThread не получилась
![]() Чуток модифицировал твой примерчик... в итоге копировать из формс 2 текст нормально получается, п вот из стандартного текстбокса нифига... UIMultilang v2.0.rar
0
|
|
|
Модератор
|
||
| 25.03.2014, 00:08 | ||
|
Насчет SetThreadLocale, я не могу утверждать на 100% что она будет отрисовывать так как надо, т.к. не проверял. Ты покажи как ее вызывал. Все равно есть и другие методы отрисовки заголовка в юникоде, ты сначала попробуй без костылей.
0
|
||
|
Модератор
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
|
|
| 25.03.2014, 01:31 [ТС] | |
|
The trick, вызывал как SetThreadLocale 1049 в Form_Load...
0
|
|
| 25.03.2014, 01:31 | |
|
Помогаю со студенческими работами здесь
20
Как продублировать функцию BindingNavigator на отдельную кнопку Button? Как создать отдельную функцию для каждого объекта класса Тестирование на сокетах. Можно ли как-то выделить вопрос-ответ в отдельную функцию? Оформить в отдельную функцию Список в отдельную функцию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|