Вопрос

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

  1. HTML в TWebBrowser
  2. RTF в TRichEdit.

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

Редактировать:
Хороший вопрос от дангфа:"Что происходит с сгенерированными документами?"
Документы будут удалены после просмотра.

Это было полезно?

Решение

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

Если вы предпочитаете не использовать TWebBrowser, взгляните на бесплатную версию Дейва Болдуина. Компоненты отображения 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 превосходят RTF.Более того, если возникнет необходимость экспортировать сгенерированные данные для дальнейшего редактирования в стиле WP, помните, что основные текстовые процессоры могут открывать и конвертировать HTML-файлы.

Используйте HTML, но с 'Оболочка Delphi для Встроенный хром" по Генри Гурвест , Chromium embedded использует ядро , которое питает Google Chrome.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top