![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Данкинг |
|
||||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
Вступление.
А теперь - сам вопрос. Есть Memo (или RichEdit, неважно), которому задан армянский шрифт ("anahid") и, соответственно, отображается текст нормально: ![]() Но если я копирую текст из этого Memo и вставляю сюда, то получается обычная латиница:
Итак, как бы скопировать текст в Юникоде? Пытался делать экспорт в .htm через FastReport, но всё равно если с получившейся странички вставить текст, то он отображается латиницей. -------------------- There's nothing left but silent epitaphs. |
||||
|
|||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Ну т.к. у тебя 7 Delphi, надо смотреть в сторону AnsiToUTF8 для текста в буфере обмена.
Сейчас навскидку скажу, что-то такое:
|
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
Не получается, заменил на RichEdit - то же самое.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Вот другой пример:
|
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
Пишу:
Вылезает: [Error] Unit1.pas(59): This form of method call only allowed for class methods -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Это сообщение отредактировал(а) Keeper89 - 17.3.2010, 01:16 |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
То же самое. Я так понимаю, каким-то образом следует указать именно армянскую локализацию. Но вот как именно - не знаю, так как кодовой страницы таковой нет, т.е. как-то надо сиё отобразить в юникоде.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Завтра могу попробовать посмотреть для не юникодной Delphi "вживую"
|
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
Попробуй, вот шрифт прилагаю, который у меня используется. Присоединённый файл ( Кол-во скачиваний: 6 )
ANAHID.TTF 29,61 Kb-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Alexeyt |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 15.9.2006 Где: около Москвы Репутация: нет Всего: 2 |
D7-D2007: возьми комп-т Tnt Unicode controls, там есть TTntMemo,
замени им свое memo. И вызывай memo.Text. Сайт - yunqa.de |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Вот к чему мне удалось придти.
Путь строки такой: 1) Сайт (юникод) 2) Буфер обмена (юникод) 3) Memo (юникод->ANSI) 4) Обратно (ANSI->юникод) Например у меня (скорее всего из-за того. что нет армянской кодовой страницы) текст с сайта копируется в Memo как набор "?" (для Delphi 7, для Delphi > 2009 преобразование на третьем шаге не нужно). Ну и обратно тож никак. Насколько я понимаю для отображения другого языка (в ANSI) надо для начала выставить его в Региональных настройках Windows и далее уже преобразовать его в Юникод обратно. З.Ы. Вот нашел еще ссылочку. З.Ы.2. Лично мое мнение - при мультиязычности нужно переходить на Юникодные версии Delphi Это сообщение отредактировал(а) Keeper89 - 17.3.2010, 19:27 |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
Вставляется аналогично:
Систему трогать не хотелось бы, я думал, как-то всё же можно преобразовать программно. Судя по тому, что с этим TNT результат такой же, ставить другую Дельфи смысла тоже нет. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Почему нет, у меня в 2010 все работает Просто если не иметь в системе кодовой страницы языка, строка будет содержать только те символы, которые есть в текущей странице. Поэтому даже если арм. язык и отображается, содержать он будет другие символы. Это сообщение отредактировал(а) Keeper89 - 17.3.2010, 20:43 |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
Н-да. Ладно, пока оставим, вдруг что-то ещё в голову придёт.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
![]()
|
| Правила форума "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. |