Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Языковой барьер, версии windows 
V
    Опции темы
Alexeis
Дата 9.12.2005, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Наверное многие встречались с проблемой такого рода -
Компилирую программу на руском windows открываю
на английском вместо руских слов одни "??????????????"
Есть конечно способ избежать такой проблемы типа
в обоработчике OnCreate формы писать

Label1.Caption := 'Бла бла бла';

Или подобные методы...

Однако хотелось бы найти более изящное решение(и менее трудоемкое)

У меня есть такая идея:
Поскольку названия компонентов и прочее хранится в ресурсах то
вероятно borland использует какой-то неудачный формат.
Так вот может придумать какой нибудь патчер для автоматического изменения строковых ресурсов.

Если кто-то уже решил проблему по-другому или просто имеются соображения раскажите...

Это сообщение отредактировал(а) alexeis1 - 9.12.2005, 12:15


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 9.12.2005, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Используется юникод.
Просто при конвертации, чарчет берется с коррекцией на языковые настройки в свойствах системы.
Либо менять настройки системы, либо хранить данные в языковом файле, как в мультиязыковых приложениях.
Кстати, если не ошибаюсь, в Delphi6 этой проблемы нет, т.к. там не юникод.
Главное выставить RUSSIAN_CARSET и все будет работать.
Добавлено @ 12:18
Нет, соврал. Там тоже юникод.
Странно, у меня с D6 проблемы не было, а с D7 стала...
Может дело все же в том, что D6 ставит RUSSIAN_CHARSET, а D7 - DEFAULT_CHARSET.
PM MAIL   Вверх
Alexeis
Дата 9.12.2005, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Объясни чайнику что такое RUSSIAN_CARSET и с чем его едят,
и где в настройках делфи можно установить использование юникода


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 9.12.2005, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



В испекторе объектов, разверни параметр Font.
Добавлено @ 12:34
Там стоит DEFAULT_CHARSET.
А нужно RUSSIAN_CHARSET
Добавлено @ 12:35
P.S. Забыл сказать - параметр Font у формы.
PM MAIL   Вверх
Alexeis
Дата 9.12.2005, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Спасибо нашел только вот не могу сейчас проверить.

Хоршо бы включить в drkb, а то многих спрашивал все разводят руками.

Это сообщение отредактировал(а) alexeis1 - 9.12.2005, 12:51


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 9.12.2005, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(alexeis1 @ 9.12.2005, 12:46)
Хоршо бы включить в drkb, а то многих спрашивал все разводят руками.

Гарантировано помогает изменение языковых настроек системы на Русский.
Иначе глючит Utf8ToAnsi. А причина скорее всего в ней.
PM MAIL   Вверх
Snowy
Дата 9.12.2005, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Так. Проверил. С RUSSIAN_CHARSET программа нормально работает в системе с языком English.
Буковки все родные русские.
Формы, где был установлен DEFAULT_CHARSET показывают крякозяблы.
Но править в такой системе программу нельзя - инспектор объектов работает уже в US кодировке и в нем все в крякозяблах.
PM MAIL   Вверх
Alexeis
Дата 9.12.2005, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Может попробовать написать dfm конвертер???
нашел пример подобной программы на delphiworld
"Преобразование Unicode строк в DFM файлах Delphi 6 в Ansi строки"


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 9.12.2005, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(alexeis1 @ 9.12.2005, 13:38)
"Преобразование Unicode строк в DFM файлах Delphi 6 в Ansi строки"

А смысл? Неюникод текст будет в той кодировке, какая указана в настройках системы для неюникод программ.
А вариант с RUSSIAN_CHARSET нормально работает без всяких извращений.
PM MAIL   Вверх
Alexeis
Дата 9.12.2005, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



не так буквльно в смысле - конвертировать русскую в US кодировку
Цитата
Но править в такой системе программу нельзя - инспектор объектов работает уже в US кодировке и в нем все в крякозяблах.

чтобы можно было править программу на другом компе.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 9.12.2005, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(alexeis1 @ 9.12.2005, 13:49)
чтобы можно было править программу на другом компе.

Чтобы писать в другой системе, нужно просто в ней выставить нормальные параметры языка.
В D6, кстати, это не требуется. В ней все нормально в любой системе.

PM MAIL   Вверх
Манкуни@нец
Дата 12.12.2005, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 26.4.2005
Где: Spb

Репутация: нет
Всего: нет



А RUSSIAN_CHARSET надо ставить только на форме или на всех компонентах?

PM MAIL   Вверх
Snowy
Дата 12.12.2005, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата
А RUSSIAN_CHARSET надо ставить только на форме или на всех компонентах?

Только на форме. На компонентах само проставится. Если конечно св-во ParentFont не менялось.
PM MAIL   Вверх
Alexeis
Дата 13.12.2005, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Теперь все понятно!
Спасибо
Snowy
Тему можно удалять


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 13.12.2005, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(alexeis1 @ 13.12.2005, 11:27)
Тему можно удалять

Нет, темы мы не удаляем.
Думаю, еще не раз потребуется.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0629 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.