Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Вставка текста (программно сгенерированной HTML-страницы) в TWebBrowser
(не из файла, а из текстовой переменной)
Функция позволяет отображать любой текст в TWebBrowser или TWebBrowser_V1.
С ее помощью можно обойтись без html-файлов и отображать html-странички,
генерируя их программно. Обрабатывая клики в таких страничках можно быстро
и просто создавать интерфейс приложения в формате HTML.
Для работы функции обязателен установленный в системе Internet Explorer.
Здесь я использую веббраузер старой версии - TWebBrowser_V1, при необходимости
можно заменить его на TWebBrowser (просто переписать тип входной переменной WB),
Но при этом программа с этой функцией будет работать только на системах
с IE версии 5.0 и выше, в то время как TWebBrowser_V1 обеспечивает работу
начиная с версии 4.0.
Зависимости: ActiveX, SHDocVw, MSHTML, Forms, установленный Internet Explorer
Автор: lipskiy, lipskiy@mail.ru, ICQ:51219290, Санкт-Петербург
Copyright: Взято из FAQ и оптимизировано lipskiy и Donal_Graeme
Дата: 14 августа 2002 г.
***************************************************** }
procedure TextToWebBrowser(Text: string
; var
WB: TWebBrowser_V1);
var
Document: IHTMLDocument2;
V: OleVariant;
begin
// Документ необходимо создать только один раз за текущую сессию работы
if
WB.Document = nil
then
WB.Navigate('about:blank');
// Ожидаем создания документа и позволяем обрабатывать все сообщения
while
WB.Document = nil
do
Application.ProcessMessages;
Document := WB.Document as
IHtmlDocument2;
// Вставляем текст (до 2Гб)
{следующие строчки внесены недавно - старый вариант функции не работал под XP}
V := VarArrayCreate([0, 0], varVariant);
V[0] := Text;
Document.Write
(PSafeArray(TVarData(v).VArray));
Document.Close;
end
;