![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
?????????? вместо Копировать [D7]
Roman_S © (2007-03-26 15:01:00)Мастера, подскажите:
Написал прогу, всё, вроде, работало, и тут вдруг на Server 2003:
на TButton надписи стали: "???????" вместо букв,
а, например, на TPanel русские буквы нормально видны.
Что это? И как это исправить?
Кодировка? - тогда почему на TPanel ничего не "???"-ся?
Шрифт? (Да, где-то я устанавливал Arial, но он должен быть во всех Win-дах?
Roman_S (2007-03-26 20:15:00) [1]Desdechado © (26.03.07 20:06) [7]
Хорошо Вы, я, мастера.... выставим настройки руками без проблем! Но ведь как говорят преподаватели: "Вы должны писать свою программу для дураков!". Тут пытаешься предусмотреть всё: чтоб не смогли не то нажать, чтоб этого не сделали, .....
И, блин, такая засада!
Desdechado (2007-03-26 20:06:00) [2]Язык в региональных настройках выставлять руками, после чего проблем быть не должно.
Roman_S (2007-03-26 20:02:00) [3]Прошу - поясните!
> выставить язык для неюникод-программ = русский в региональных настройках
> TForm.Font.Charset
> Панель управления, Язык и региональные стандарты, вкладка Дополнительно
Этот код поможет выставлять язык для неюникод-программы каждый раз, когда она будет запускаться? Или изменит настройки винды для всех программ? ...
Пример бы из Вашего реального опыта!
Roman_S (2007-03-26 19:47:00) [4]Так что,
MainForm.Font.Charset = RUSSIAN_CHARSET
в OnShow формы прописывать?
на TButton надписи стали: "???????" вместо букв, а, на TPanel русские буквы нормально видны- шрифт проверил, везде один и тот-же (по умолчанию).
Рамиль (2007-03-26 15:34:00) [5]
> 2) Не совсем понятно – что с этим делать!? :-)
Панель управления, Язык и региональные стандарты, вкладка Дополнительно
Roman_S (2007-03-26 15:26:00) [6]Пробежался по сайтам, чтобы поподробнее изучить Ваши ответы! Итак:
1)По поводу первого совета нашёл в Nete сообщение:
Использую в своей программе для поддержки Unicode набор компонент для Delphi TNT Unicode Controls.
При вставке в них юникодовского содержимого (строки) из буфера обмена всё прекрасно, при попытке набрать тоже самое с клавиатуры -- стандартные латинские и кириллические символы вводятся без проблем, а вот немецкие умляуты ("u с точками" и т.д.) и другие специфические символы заменяются на соответствующие стандартные (та же "u с точками" заменяется на простую "u" и т.д.).
Использую английскую Windows XP Pro / build 2600. Установлены английская, русская и немецкая раскладки. Менял локаль системы - не помогает. Хотя в Word-e и Em-Editor-e всё работает.
Скачал несколько программ других производителей, которые также используют TNT Unicode Controls - та же болезнь. Надо ещё сказать, что в своей программе использую лицензионный PlusMemoU (с поддержкой Unicode). Так вот он ведёт себя точно также, то есть при чтении из файла и при вставке из буфера всё отлично, при наборе с клавиатуры, простите, облом.
Возможно кто-то уже сталкивался с описанной проблемой. Помогите, пожалуйста, найти грабли.
2)Не совсем понятно – что с этим делать!? :-)
Нахожу похожие строки:
Charset := ReadInteger('Font','Charset',RUSSIAN_CHARSET);
Font.Charset = DEFAULT_CHARSET
form.Font.Charset = RUSSIAN_CHARSET
Как же правильно?
Desdechado (2007-03-26 15:06:00) [7]На нерусских виндах возможны разные отклонения, в т.ч. и частичное отпадание надписей на разных компонентах.
Лечить можно компонентами TNT Unicode controls.
Или, как вариант, выставить язык для неюникод-программ = русский в региональных настройках.
Reindeer Moss Eater (2007-03-26 15:06:00) [8]TForm.Font.Charset