HTML или RTF? - PullRequest
       46

HTML или RTF?

8 голосов
/ 05 марта 2009

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

  1. HTML в браузере TW
  2. RTF в TRichEdit.

HTML более стандартный, но, кажется, загружается медленнее, и мне пришлось иметь дело с The Annoying Click Sound . RTF по-прежнему хорошая альтернатива в наши дни?

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

Ответы [ 13 ]

12 голосов
/ 05 марта 2009

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

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

8 голосов
/ 05 марта 2009

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

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

Рассматривали ли вы сделать владельца TListView?

6 голосов
/ 05 марта 2009

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

Если вы не хотите использовать TWebBrowser, взгляните на бесплатные HTML-компоненты Дэйва Болдуина .

4 голосов
/ 05 марта 2009

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

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

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

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

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

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

3 голосов
/ 05 марта 2009

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

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

2 голосов
/ 17 января 2010

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

2 голосов
/ 05 марта 2009

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

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

1 голос
/ 21 марта 2009

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

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

1 голос
/ 05 марта 2009

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

1 голос
/ 05 марта 2009

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

...