Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2011, 13:28   #1
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию Delphi и Юникод

Здравствуйте. Такой вопрос.
Сделал программу на Delphi 7, все работает нормально. Но когда запускаешь программу на НЕ русской Windows, то вместо текста отображаются знаки "???????????". Понятное дело нужно что бы прога была с поддержкой Юникода (на форуме прочитал что в Делфи 7 этого нет). Потому поставил себе Delphi 2010 (прочитал что эта версия с поддержкой Юникода). Если теперь я просто скомпилирую туже программу с помощью Delphi 2010 это решит проблему, или нет?
И еще в проге использую также компонент AlphaControls (может это тоже играет какую то роль).
Буду очень благодарен за подсказки по решению проблеммы. (Как сделать что бы отображался текст и на не русской Винде.)
Смотреть фильмы HD Фильмы для планшетов
demiancz вне форума Ответить с цитированием
Старый 23.08.2011, 13:33   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

поидее решит(кстати насчет шрифтов не забывайте)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.08.2011, 13:39   #3
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию

Насчет шрифтов. Если Arial, как думаете подойдет? Или какой лучше ставить?
Смотреть фильмы HD Фильмы для планшетов
demiancz вне форума Ответить с цитированием
Старый 23.08.2011, 13:43   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я имел в виду что аккуратнее с нестандартными шрифтами, их может не быть на иной системе.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.08.2011, 13:52   #5
Человек Панда
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 75
По умолчанию

сталкивался с такой проблемой.у меня текст на buttons неправильно отображался.используйте widestring(строка unicode),через неё программно пишите нужный вам текст
Человек Панда вне форума Ответить с цитированием
Старый 23.08.2011, 14:25   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Человек Панда, лучше применять Юникод и в контролах, ибо на иной локали запросто все полетит(ANSI зависим от локали)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.08.2011, 14:46   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Понятное дело нужно что бы прога была с поддержкой Юникода (на форуме прочитал что в Делфи 7 этого нет). Потому поставил себе Delphi 2010 (прочитал что эта версия с поддержкой Юникода). Если теперь я просто скомпилирую туже программу с помощью Delphi 2010 это решит проблему, или нет?
Вы сами отваетили на свой вопрос.
Человек_Борща вне форума Ответить с цитированием
Старый 23.08.2011, 14:55   #8
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию

Человек_Борща, я спросил потому что нет возможности протестировать программу. А сам в результате не уверен. Думал может нужно еще что то делать. А так теперь я просто взял исходник проги которую сделал на Делфи 7 и скомпилировал ее с помощью Делфи 2010. Надеюсь проблем не будет. Всем спасибо.
Смотреть фильмы HD Фильмы для планшетов
demiancz вне форума Ответить с цитированием
Старый 23.08.2011, 18:00   #9
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Но когда запускаешь программу на НЕ русской Windows, то вместо текста отображаются знаки "???????????"
На этой "не русской Windows" есть хоть какой-то шрифт с кириллицей? Например, Unicode-ный вариант Arial.

Если нет, то перекомпиляция под Unicode не поможет. Программа-то будет гнать результат в кириллице, да вот только система при всём своём большом желании показать текст не сможет: нечем показывать.

Если шрифт есть, то:
1). Если вы не портите в программе Unicode, работая с AnsiString.
2). Вы используете системные шрифты или шрифты с включенной авто-подстановкой.

То всё должно работать нормально.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Юникод в delphi vitaaly Общие вопросы Delphi 4 09.05.2011 15:18
Какая версия Delphi поддерживает Юникод? Arassir Общие вопросы Delphi 3 29.03.2011 21:11
юникод artush1984 Общие вопросы C/C++ 0 09.03.2010 17:42
Юникод и Delphi 7 Лубышев Общие вопросы Delphi 12 02.08.2009 00:11
Юникод для Delphi netuser Общие вопросы Delphi 1 20.12.2007 02:43