Delphi. TRichView.UniGUI. Реализуем функцию OpenInWebBrowser

В данном посте реализуем функцию показа контента, находящегося в редакторе TRichViewEditor в браузере.Возьмем наше VCL приложение, добавим кнопку OpenInBrowser.

14

И вот что мы видим в браузере15

Как это сделать?

Если по простому, то нам нужно

-Сохранить контент в БД

-Запустить сервер UniGUI, если он ещё не запущен

-Открыть браузер и перейти по адресу сервера UniGUI (например localhost:8077)

Посмотрим как это будет выглядеть в коде

База данных

Для простоты сделаем следующее. Создадим в тестовой БД одну единственную таблицу

17

В этой таблице будет одна единственная запись. При добавлении новой — предыдущая запись будет удаляться. Это для простоты примера.

Код на стороне VCL приложения

Обработчик кнопки OpenInBrowserClick

Вот методы, которые были использованы в обработчике

SaveRecordInDB

Здесь мы пользуемся удобной функцией сохранения в поток HTML контента компонента TRichView. Далее из потока забираем в переменную SL:TStringList через вспомогательный поток MS:TMemeoryStream и из SLуже присваиваем в качестве значения параметра запроса. После чего выполняем запрос.

Проверка — запущен ли процесс (для того, чтобы запустить UniGUI сервер)

StartUniServer — запуск сервера UniGUI

Открытие страницы веббраузера по умолчанию

Код на стороне UniGUI сервера

16

Обработка кнопки. По нажатию — читаем единственную запись из базы.

UniFormCreate

И вот он, наш результат!

14

 

15

 

Добавить комментарий