Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 910

/ вопрос решён /

Доброго времени суток, уважаемые эксперты!
Ошибка чтения строк в русской кодировке (Font.Charset = RUSSIAN_CHARSET) из ресурсов в английском Windows. Как я пришел к такому выводу: есть форма, на ней TLabel его caption = 'русский текст' - установлен через инспектор объектов, сохранен в dfm, скомпилирован. отлично отображается русский текст в русском Windows. В английском видем знаки вопроса. Теперь в OnCreate формы пишем label1.caption := 'русский текст'; - все - в английской версии винды тоже все красиво отображается. отсюда я делаю вывод, что ангийский windows не может корректно прочитать параметры формы из ресурсов - в частности русский текст. Поскольку приложение уже давным-давно до меня написано и форм таких там ооооочень много - динамические надписи как видите не вариант. перевод на юникод тоже не предлагайте - это просто нереально в масштабах проекта. какой есть эффективный и простой способ скомпилить исходник под английские окна, именно без русской локализации - это важно - с руссим языком оно работает и в английской винде, но нужно именно в usa локализации чтоб работало.

mirt.steelwater Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: mirt.steelwater (статус: Посетитель)
Вопрос отправлен: 12 января 2011, 15:46
Состояние вопроса: решён, ответов: 0.


Мини-форум вопроса

Всего сообщений: 6; последнее сообщение — 12 января 2011, 19:36; участников в обсуждении: 3.
mirt.steelwater

mirt.steelwater (статус: Посетитель), 12 января 2011, 15:53 [#1]:

очень нужно решить вопрос в самое ближайшее время, пожалуйста расскажите кто что знает об этом
Ⓐ свобода сопротивление солидарность
Вадим К

Вадим К (статус: Академик), 12 января 2011, 16:00 [#2]:

включить поддержку кириллицы на нужной винде.
Control Panel -> Regional and Language options->Advanced ->
Language for non-unicode programs = Russian
Code page conversion tables - проставить галочки на против всех сyrillic.
Галочка "подтверждения прочтения" - вселенское зло.
mirt.steelwater

mirt.steelwater (статус: Посетитель), 12 января 2011, 16:43 [#3]:

заработало так:
SetThreadLocale (1049);
Application.Initialize;
(в файле проекта)
настройки в панели управления я так понимаю это в windows-панели управления? мне так нельзя было делать, т.к. у клиента рабоать должны параллельно программы на французском и на русском, т.е. французские программы у него уже так выставлены как non-unicode programs.
Ⓐ свобода сопротивление солидарность

12 января 2011, 16:44: Статус вопроса изменён на решённый (изменил автор вопроса — mirt.steelwater): всем спасибо

Вадим К

Вадим К (статус: Академик), 12 января 2011, 16:47 [#4]:

Цитата (mirt.steelwater):

настройки в панели управления я так понимаю это в windows-панели управления?

да, там.
поэтому лучше юникод. там этих проблем нет. Либо сразу англоязычное приложение.
Галочка "подтверждения прочтения" - вселенское зло.
mirt.steelwater

mirt.steelwater (статус: Посетитель), 12 января 2011, 16:52 [#5]:

я знаю, но проекту уже 10 лет, там куча всяких самопиных компонентов (штук 70), разрабатывало его куча дельфистов до меня, сейчас они где-то в Америке и Австралии, а я вот поддерживаю) естественно, что переводить все на юникод или даже на другую версию delphi (там сейчас 7, частично еще где-то 5 осталась) сейчас просто немыслимо
Ⓐ свобода сопротивление солидарность
Егор

Егор (статус: 10-ый класс), 12 января 2011, 19:36 [#6]:

мда... попал чувак :)
удачи тебе
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:28
Выполнено за 0.02 сек.