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

 

by Stanislav_Panteleev

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