HTML или RTF?

в моей программе Delphi я хочу отобразить некоторую информацию, генерируемую приложением. Ничего особенного, просто 2 столбца текста с частями слов, закодированных цветом.
Я думаю, что у меня в основном есть два варианта:

  1. HTML в TWebbrowser
  2. RTF в TRichEdit.

HTML более стандартный, но, кажется, загружается медленнее, и мне пришлось иметь дело с Раздражающий Звук Щелчка. РТФ-это хорошая альтернатива эти дней?

edit:
Хороший вопрос от dangph: "что происходит с сгенерированными документами?"
Документы будут отброшены после просмотра.

13 ответов


Я бы также использовал HTML. Кроме того, вы только что получили ответ на щелчок звука в TWebBrowser.

Если вы не хотите использовать TWebBrowser, взгляните на Dave Baldwin's free компоненты отображения HTML.


Я бы проголосовал за HTML.

Я думаю, что он больше ориентирован на будущее. Скорость меня не волновала.


вопрос HTML или RTF может быть неактуальным. Если они используются только для отображения, формат файла не имеет значения. Это просто внутреннее представление. (Какие-либо файлы даже сохраняются на диск?) Я думаю, что вопрос в том, какой из них решает проблему с наименьшим объемом работы.

Я был бы немного обеспокоен тем, что управление браузером все время меняется. Я сомневаюсь, что контроль richedit сильно изменится. Я бы склонился к richedit контроль, потому что я думаю, что есть меньше, что может пойти не так. Но в любом случае это не так уж и важно.

вы рассматривали возможность создания ownerdraw TListView?


Я бы тоже проголосовал за HTML.

мы начали приложение некоторое время назад... Мы хотели

отображение некоторой информации, генерируемой приложением. Ничего особенного, просто...

(вы слышите звон колоколов???)

затем мы хотели отобразить больше информации и стиль его еще больше.... ...кто-то решил, что RTF уже недостаточно, но для обратной совместимости мы перешли к MS Word через OLE-сервер. Это был конец разговоры о производительности.

Я думаю, если бы мы сделали это в HTML, это было бы намного быстрее.


RTF намного проще в работе, так как элемент управления TRichEdit является частью каждой установки Windows и имеет гораздо меньше накладных расходов, чем TWebBrowser (который в основном внедряет версию ActiveX Internet Explorer в ваше приложение).

TRichEdit также намного проще использовать для программного добавления текста и форматирования. Использование SelStart и SelLength, наряду с текстовыми атрибутами, позволяет добавлять жирный и курсив, устанавливать разные шрифты и т. д. простой. И, как Re0sless сказал, TRichEdit можно легко распечатать, в то время как TWebBrowser делает это более сложным.


Я бы проголосовал RTF, поскольку мне не нравится тот факт, что TWebBrowser использует Internet explorer, поскольку у нас были проблемы с этим в прошлом на плотно заблокированных компьютерах.

также TRichEdit имеет метод печати сборки, где, как вы должны делать все виды возиться, чтобы получить TWebBrowser для печати.


кажется, никто еще не упомянул компонент отчетности. Да, это перебор прямо сейчас, но если вы используете его в любом случае (и, возможно, у вас уже есть некоторые отчеты в вашем приложении, поэтому компонент уже включен), вы можете просто отобразить предварительный просмотр и разрешить печать / экспорт в pdf позже, если это имеет смысл. Кроме того, если вы позже решите, что хотите иметь более модный дисплей, вас ничто не удерживает.


Если HTML и RTF не удовлетворят ваши потребности, вы также можете использовать компонент открытого исходного текста/редактирования, который поддерживает раскраски слов или создать свой собственный компонент редактирования на основе компонента Delphi.


Другой альтернативой HTML-браузеру является "Встроенный Веб-Браузер " компоненты, которые я использовал для отображения html-документов пользователю. Вы имеете полный контроль над встроенным браузером, и я не помню никаких щелчков при загрузке страницы.


Я голосую за HTML также

RTF хорош только для своего редактора, иначе вам лучше пойти стандартным.


RTF предлагает некоторые полезные параметры редактирования текста, такие как горизонтальный табулятор, которые недоступны в HTML. Автоматическое обнаружение гиперссылок также является приятным дополнением. Но я думаю, что предпочел бы HTML, если эти функции не требуются.


Я голосую за HTML.

  • легче генерировать программно.
  • широко поддерживается.
  • поскольку вам не нужны возможности WYSIWYG, я думаю, что HTML-преимущества trump RTF. Кроме того, если возникнет необходимость экспортировать сгенерированные данные для дальнейшего WP-подобного редактирования, помните, что основной текстовый процессор может открывать и конвертировать HTML-файлы.

используйте HTML, но с 'обертка Delphi для Хром Встраиваемого ' by Анри Gourvest, Chromium embedded использует ядро, которое питает Google Chrome.

Не используйте TWebBrowser, я страдаю от всех программ, которые используют веб-контроль IE - шрифт слишком мал на моем 22 ' мониторе с разрешением 1920x1080, я использую Windows 7, а DPI моей системы-150% (режим XP), я пробовал все, чтобы настроить, пытаясь исправить это, нет удача...