Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставка в отчет греческой буквы 
V
    Опции темы
Нитонисе
Дата 26.5.2011, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Программно генерирую отчет. Нужно вставить греческую букву "фи". Шрифт отчета - Times New Roman, шрифт редактора кода - Courier New. И там и там есть греческая буква "фи". Но в редакторе кода она почему-то не отображается, вместо нее вопросительный зак. он же идет и в отчет. Как решить эту проблему?
PM MAIL   Вверх
_Dimon_
Дата 26.5.2011, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Какая IDE? Тут нужна поддержка юникода. Если RAD 2009 и выше, то должно работать.
Правда еще и генератор отчетов должен поддержывать...

У меня на XE вот так нормально работает.
Код

 ShowMessage(L"φ");


P.S. Вставитшь эту букву в код, IDE попросит сохранить *.cpp файл в кодировке UTF-8. Нужно согласится ))))
PM MAIL   Вверх
Нитонисе
Дата 26.5.2011, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У меня Builder 6.
Что касается отчета, то фактически  его формирую в переменной типа AnsiString с использованием разметки HTML, сохраняю эту строку в файл и открываю в браузере.
PM MAIL   Вверх
_Dimon_
Дата 26.5.2011, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Юзай TMS Unicode Component Pack, правда она платная.
Но можно найти в нете Tnt Delphi Unicode Controls
PM MAIL   Вверх
Usper
Дата 26.5.2011, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Генерируете HTML отчёт? Браузер обычно сам решает какой ему шрифт использовать и ему глубоко плевать какой шрифт используется в IDE. Для греческих букв можно использовать escape-последовательности, для этого в html-документ надо написать что-то вроде:
Код

...
а тут у нас заглавная буква "фи" - Φ, а тута строчная - φ
...

Другие escape-последовательности смотрите, например, тут. Проверял код в Opera 11.11 и IE 6.


--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
Нитонисе
Дата 26.5.2011, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Шрифт отчета я задаю сам тэгами HTML. А шрифт редактора кода упоминал в том смысле, что по идее "фи" должно отображаться и там. Что касается браузера, то я использую просто компонент CppWebBrowser. Именно в нем я открываю HTML-файл с отчетом. Никакие эскейп-последовательности тут не работают. 
PM MAIL   Вверх
Usper
Дата 26.5.2011, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну, видимо, это проблема CppWebBrowser, если уж древний "Осёл" их понимает... А вообще какие-нибудь последовательности там работают?


--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
Нитонисе
Дата 26.5.2011, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Откуда ж мне знать) Я вижу проблему в том, что нужный символ не отображается в редакторе кода. Браузер-то способен воспринять греческую букву. Но так как в редакторе кода вместо буковки "фи" вставляется вопросительный знак, то он же и идет в отчет. И, кстати, шрифт редактора кода нельзя сменить на Times New Roman.

Может можно передать в отчет какой-то код символа, который может прочитаться шрифтом Times New Roman?
PM MAIL   Вверх
Usper
Дата 26.5.2011, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я или чего-то не понимаю, или вы чего-то недоговариваете smile Я сохранил кусок текста из моего примера в файл, засунув его в html теги, набрал простенький пример с CppWebBrowser, открыл свой html-файл и всё прекрасно отобразилось:
user posted image
Возможно проблема в генерируемом html-отчёте, незакрытый тег, или ещё что-нибудь. Попробуйте повторить то, что сделал я. Если опять будет проблема, значит дело в системе, не хватает какого-нибудь шрифта.

Это сообщение отредактировал(а) Usper - 26.5.2011, 14:42


--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
Нитонисе
Дата 26.5.2011, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



 smile 

Набирая φ я не учел точку с запятой. А так действительно работает. Благодарю  smile 
Пока другие последовательности не смотрел, но мне понадобится много разных символов, имеющихся в шрифтах, но не отображаемых в тексте, в том числе математические. Пойду смотреть.
PM MAIL   Вверх
xvr
Дата 27.5.2011, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Нитонисе @  26.5.2011,  13:38 Найти цитируемый пост)
Что касается браузера, то я использую просто компонент CppWebBrowser.

Открою вам страшную тайну - но CppWebBrowser это ActiveX обвертка над IE. 
Цитата(Нитонисе @  26.5.2011,  13:38 Найти цитируемый пост)
Никакие эскейп-последовательности тут не работают.  
Работают, более того, у него есть стандартная последовательность, позволяющая вставить любой Unicode символ по его коду (см. в MSDN)

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


Опытный
**


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

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



Цитата(xvr @  27.5.2011,  21:19 Найти цитируемый пост)
Открою вам страшную тайну - но CppWebBrowser это ActiveX обвертка над IE.

Это мне ни о чем не говорит  smile 

Цитата(xvr @  27.5.2011,  21:19 Найти цитируемый пост)
есть стандартная последовательность, позволяющая вставить любой Unicode символ по его коду (см. в MSDN)

А можно об этом поподробнее?
PM MAIL   Вверх
xvr
Дата 30.5.2011, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Нитонисе @ 28.5.2011,  10:24)
Цитата(xvr @  27.5.2011,  21:19 Найти цитируемый пост)
Открою вам страшную тайну - но CppWebBrowser это ActiveX обвертка над IE.

Это мне ни о чем не говорит  smile 

Перевожу - CppWebBrowser умеет все, что умеет установленный на вашем компьютере Internet Explorer

Цитата

Цитата(xvr @  27.5.2011,  21:19 Найти цитируемый пост)
есть стандартная последовательность, позволяющая вставить любой Unicode символ по его коду (см. в MSDN)

А можно об этом поподробнее?

&#<code>; - Unicode символ (code - в виде десятичного числа)
&#x<code>; - Unicode символ (code - в hex)

HTML Char set
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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