Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизПоддержка русского языка только в моей программе Найти похожие ветки
← →
Ping-Pong (2007-01-29 23:25) [0]Delphi не поддерживает Юникод. Устанавливать для текущего пользователя "Язык программ, не поддерживающих Юникод" в настройках системы вручную - проблематично. Пользователь может установить свой язык, и возмущаться по поводу неправильной работы моей программы.
Как задать только для моей программы, что она работает с Русским языком? Программно, в коде программы.
← →
Ping-Pong (2007-01-30 09:03) [1]Нашел SetThreadLocale(), но она, почему-то, не работает.
← →
Ping-Pong (2007-01-30 11:14) [2]Неужели нет решения?
← →
Плохиш © (2007-01-30 11:28) [3]tntlib
← →
Ping-Pong (2007-01-30 12:12) [4]Хотелось бы обойтись стандартными средствами, без использования сторонних компонентов.
← →
ЮЮ © (2007-01-30 12:33) [5]
> Хотелось бы обойтись стандартными средствами, без использования
> сторонних компонентов.
Тогда можно:
1) ограничиться компонентами, имеющими обработчики типа OnDrawXXX, где использовать виндовозные функции для WideString, т.е., например, не TextOut[A], а TextOutW
2) в программе использовать не String, а WideString
3) использовать Unicodный шрифт
Посли таких извращений программа писала по-русски на японской Win98
← →
alex_*** © (2007-01-30 12:38) [6]а что значит писала по-русски? Ресурсы в юникоде же лежат... Чтобы MessageBox по-русски был?
← →
Ping-Pong (2007-01-30 15:50) [7]Ресурсы в юникоде же лежат...
Выводятся они потом как простые анси-строки. А для этого - преобразуются в фоновом режиме (кем? ОС?) из юникода в анси-строки. И под ОС с настройками "не-русскими" отображаются "?????", потому что алгоритм преобразования тупит, и не понимает, в какой язык преобразовывать (ну, тут кто угодно ступил бы). Вот, как заставить эти внутренние механизмы ОС производить преобразования строк из Юникода в анси-строки (и наоборот), учитывая, что строки эти - на русском языке? То есть, я хочу сказать операционной системе, что моя программа работает на русском языке, в Win-кодировке. Как это сделать?
← →
alex_*** © (2007-01-30 16:39) [8]а СHARSET в фонте русский поставил?
← →
Ping-Pong (2007-01-30 16:45) [9]а СHARSET в фонте русский поставил?
Естественно. Только, прежде чем фонтом выводить на канву, система преобразовывает юникод-строку в анси-строку, где и появляются проблемы. То есть, до фонта дело не доходит.
← →
alex_*** © (2007-01-30 17:57) [10]ну хз тогда :(
← →
iXT © (2007-01-30 18:05) [11]Если юзер на своей (не русской) оси ставит для "Юникод" не русский, значит ему нафиг не нужна твоя прога
← →
Ping-Pong (2007-01-30 18:18) [12]Если юзер на своей (не русской) оси ставит для "Юникод" не русский, значит ему нафиг не нужна твоя прога
Давай, пользователь сам будет решать, что ему надо. Без твоих "ценных" комментариев. Договорились?
У юзера стоит еще Квик-букс английская, и еще разные приложения. И под "Юникод -> Русский" у него вместо символов валют выводятся знаки вопроса (то есть, то же, что и для русских букв при нерусских настройках). С одной стороны - моя программа, с другой стороны - другие программы. Как решить проблему? Перезагружаться, каждый раз меняя язык? Гы...
← →
Плохиш © (2007-01-30 18:27) [13]
> Ping-Pong (30.01.07 18:18) [12]
Значит надо твою программу заставить поддерживать юникод. Извини, если не прав.
← →
Ping-Pong (2007-01-30 18:39) [14]Значит надо твою программу заставить поддерживать юникод
Уже понял, что другого решения нет.
Сижу, компоненты правлю. Хорошо хоть большинство самописные.
Работы!...
← →
GrayFace © (2007-01-30 20:13) [15]Ну, можно самому загружать строки из файла... У меня в прогах основной язык - английский, а другие берутся из Language.txt. См. RSLang в http://delphimaster.net/view/15-1169883926/
C MessageBox"ами, конечно, придется использовать W-версию (или MessageBoxEx?).
← →
Ping-Pong (2007-01-30 21:14) [16]У меня и так компонентов своих больше 100 штук в проекте.
То есть, повторюсь, я не буду использовать сторонние компоненты.
Ладно, можно считать обсуждение закрытым.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.037 c