Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

?????????? вместо Копировать [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо