Неверов Евгений Викторович
QR-код
Меню сайта
Категории раздела
Программирование на языке Паскаль [26]
В данной категории представлены новые функции, созданные на языке Паскаль, которые могут пригодиться при написании своих программ
Программирование на Delphi [19]
В данной категории представлены полезные подпрограммы, которые могут пригодиться при написании своих программ, а также рассматриваются примеры готовых проектов, создаваемых в среде программирования Delphi
Программирование на HTML [1]
В данной категории рассматриваются примеры готовых проектов, создаваемых на языке HTML
Мои программы [1]
Описание разработанных автором программ.
Online-программы [2]
Прочее [42]
Свободная тематика
Мини-чат
200
Наш опрос
Чем Вы занимаетесь?
Всего ответов: 57
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Загрузка HTML-текста в браузер компонента TWebBrowser

Статья начинается с примечания! Процедуры WebBrowserAbout1 и WebBrowserAbout2 работают одинаково, в дальнейшем будем их обозначать WebBrowserAbout (без цифры в наименовании). Процедуры WebBrowserText1 и WebBrowserText2 также работают одинаково, в дальнейшем будем их обозначать WebBrowserText. Это связано с тем, что в некоторых версиях Delphi какая-нибудь из данных процедур соответственно может и не работать. Поэтому в этой статье публикуются различные версии процедур.

Процедура WebBrowserAbout вызывается только 1 раз! Рекомендуется ее вызывать при запуске программы, например, в событии FormCreate. Содержимое компонента типа TWebBrowser можно изменять многократно, что для этого используется процедура WebBrowserText – можно вызывать сколько угодно раз.

uses ActiveX, SHDocVw, MSHTML, Variants;

procedure WebBrowserAbout1(var WebBrowser: TWebBrowser);
var OLEHtmlText: OLEVariant;
begin
   OLEHtmlText:='about:';
   WebBrowser.Navigate2(OLEHtmlText);
end;

procedure WebBrowserAbout2(var WebBrowser: TWebBrowser);
begin
   WebBrowser.Navigate('about:');
end;

procedure WebBrowserText1(var WebBrowser: TWebBrowser; HTMLText: string);
var sl: TStringList;
    ms: TStream;
begin
   if Assigned(WebBrowser.Document) then
   begin
      sl:=TStringList.Create;
      ms:=TMemoryStream.Create;
      sl.Text:=HTMLText;
      sl.SaveToStream(ms);
      ms.Seek(0, 0);
      (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms));
      FreeAndNil(ms);
      FreeAndNil(sl);
   end;
end;

procedure WebBrowserText2(var WebBrowser: TWebBrowser; HTMLText: string);
var Document: IHTMLDocument2;
    V: OleVariant;
begin
   Document:=WebBrowser.Document as IHtmlDocument2;
   V:=VarArrayCreate([0, 0], varVariant);
   V[0]:=HTMLText;
   Document.write(PSafeArray(TVarData(V).VArray));
   Document.close;
end;

На форму добавляем компонент WebBrowser1, кнопку Button1 и пишем простейший программный код, указанный ниже. Кстати, объект типа TWebBrowser находится на вкладке "Internet".

procedure TForm1.FormCreate(Sender: TObject);
begin
   WebBrowserAbout1(WebBrowser1);
end;

procedure TForm1.Button1Click(Sender: TObject);
const HTML = '<style>'+
         'h1{'+
         ' border: 1px solid green;'+
         ' border-radius: 20px;'+
         ' color: red;'+
         ' text-align: center;'+
         '}'+
         '</style>'+
         '<h1>Привет!</h1>';
var s: string;
begin
   s:=FormatDateTime('dd.mm.yyyy hh:nn:ss', Now);
   s:=Format('Date / Time: <b>%s</b>', [s]);
   WebBrowserText1(WebBrowser1, HTML+s);
end;
Категория: Программирование на Delphi | Добавил: newerow1989 (14.08.2016)
Просмотров: 885 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email:
Код *:
Вход на сайт
Поиск
Друзья сайта
Заработок в Интернете
Для начала необходим Электронный PAYEER® кошелек!
Copyright MyCorp © 2025
Версия для мобильных устройств. Яндекс.Метрика Анализ сайта Проверить мой сайт на ScamAdviser.com