![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Наверное многие встречались с проблемой такого рода -
Компилирую программу на руском windows открываю на английском вместо руских слов одни "??????????????" Есть конечно способ избежать такой проблемы типа в обоработчике OnCreate формы писать Label1.Caption := 'Бла бла бла'; Или подобные методы... Однако хотелось бы найти более изящное решение(и менее трудоемкое) У меня есть такая идея: Поскольку названия компонентов и прочее хранится в ресурсах то вероятно borland использует какой-то неудачный формат. Так вот может придумать какой нибудь патчер для автоматического изменения строковых ресурсов. Если кто-то уже решил проблему по-другому или просто имеются соображения раскажите... Это сообщение отредактировал(а) alexeis1 - 9.12.2005, 12:15 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Используется юникод.
Просто при конвертации, чарчет берется с коррекцией на языковые настройки в свойствах системы. Либо менять настройки системы, либо хранить данные в языковом файле, как в мультиязыковых приложениях. Кстати, если не ошибаюсь, в Delphi6 этой проблемы нет, т.к. там не юникод. Главное выставить RUSSIAN_CARSET и все будет работать. Добавлено @ 12:18 Нет, соврал. Там тоже юникод. Странно, у меня с D6 проблемы не было, а с D7 стала... Может дело все же в том, что D6 ставит RUSSIAN_CHARSET, а D7 - DEFAULT_CHARSET. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Объясни чайнику что такое RUSSIAN_CARSET и с чем его едят,
и где в настройках делфи можно установить использование юникода -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
В испекторе объектов, разверни параметр Font.
Добавлено @ 12:34 Там стоит DEFAULT_CHARSET. А нужно RUSSIAN_CHARSET Добавлено @ 12:35 P.S. Забыл сказать - параметр Font у формы. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Спасибо нашел только вот не могу сейчас проверить.
Хоршо бы включить в drkb, а то многих спрашивал все разводят руками. Это сообщение отредактировал(а) alexeis1 - 9.12.2005, 12:51 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Гарантировано помогает изменение языковых настроек системы на Русский. Иначе глючит Utf8ToAnsi. А причина скорее всего в ней. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Так. Проверил. С RUSSIAN_CHARSET программа нормально работает в системе с языком English.
Буковки все родные русские. Формы, где был установлен DEFAULT_CHARSET показывают крякозяблы. Но править в такой системе программу нельзя - инспектор объектов работает уже в US кодировке и в нем все в крякозяблах. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Может попробовать написать dfm конвертер???
нашел пример подобной программы на delphiworld "Преобразование Unicode строк в DFM файлах Delphi 6 в Ansi строки" -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
А смысл? Неюникод текст будет в той кодировке, какая указана в настройках системы для неюникод программ. А вариант с RUSSIAN_CHARSET нормально работает без всяких извращений. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
не так буквльно в смысле - конвертировать русскую в US кодировку
чтобы можно было править программу на другом компе. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Чтобы писать в другой системе, нужно просто в ней выставить нормальные параметры языка. В D6, кстати, это не требуется. В ней все нормально в любой системе. |
|||
|
||||
| Манкуни@нец |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 26.4.2005 Где: Spb Репутация: нет Всего: нет |
А RUSSIAN_CHARSET надо ставить только на форме или на всех компонентах?
|
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Только на форме. На компонентах само проставится. Если конечно св-во ParentFont не менялось. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Теперь все понятно!
Спасибо Snowy Тему можно удалять -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Нет, темы мы не удаляем. Думаю, еще не раз потребуется. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |