|
Вопрос # 4 910/ вопрос решён / |
|
Доброго времени суток, уважаемые эксперты!
Ошибка чтения строк в русской кодировке (Font.Charset = RUSSIAN_CHARSET) из ресурсов в английском Windows. Как я пришел к такому выводу: есть форма, на ней TLabel его caption = 'русский текст' - установлен через инспектор объектов, сохранен в dfm, скомпилирован. отлично отображается русский текст в русском Windows. В английском видем знаки вопроса. Теперь в OnCreate формы пишем label1.caption := 'русский текст'; - все - в английской версии винды тоже все красиво отображается. отсюда я делаю вывод, что ангийский windows не может корректно прочитать параметры формы из ресурсов - в частности русский текст. Поскольку приложение уже давным-давно до меня написано и форм таких там ооооочень много - динамические надписи как видите не вариант. перевод на юникод тоже не предлагайте - это просто нереально в масштабах проекта. какой есть эффективный и простой способ скомпилить исходник под английские окна, именно без русской локализации - это важно - с руссим языком оно работает и в английской винде, но нужно именно в usa локализации чтоб работало.
 |
Вопрос задал: mirt.steelwater (статус: Посетитель)
Вопрос отправлен: 12 января 2011, 15:46
Состояние вопроса: решён, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 6; последнее сообщение — 12 января 2011, 19:36; участников в обсуждении: 3.
|
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 (статус: Посетитель), 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 (статус: Посетитель), 12 января 2011, 16:52 [#5]:
я знаю, но проекту уже 10 лет, там куча всяких самопиных компонентов (штук 70), разрабатывало его куча дельфистов до меня, сейчас они где-то в Америке и Австралии, а я вот поддерживаю) естественно, что переводить все на юникод или даже на другую версию delphi (там сейчас 7, частично еще где-то 5 осталась) сейчас просто немыслимо
Ⓐ свобода сопротивление солидарность
|
|
Егор (статус: 10-ый класс), 12 января 2011, 19:36 [#6]:
мда... попал чувак 
удачи тебе
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|