Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TWebBrowser [D7]


new_user ©   (2011-02-05 20:59:00) 

Здравстуйте.
Чтобы отобразить сраничку можно воспользоваться методом Navigate
WebBrowser1.Navigate('file.html');
Вопрос: а можно ли непосредсвенно из строковой переменной передать html код в WebBrowser и отобразить его, либо как то иначе, лишь бы не иметь на диске html файл?


RWolf   (2011-02-07 10:59:00) [1]

если просто другим цветом — TRichEdit.


antonn   (2011-02-06 22:13:00) [2]

Нормальное решение.
Но рендером я бы взял THTMLViewer


Leonid Troyanovsky   (2011-02-06 21:45:00) [3]


> new_user   (06.02.11 14:32) [5]

Святая простота.

--
Regards, LVT.


new_user   (2011-02-06 14:32:00) [4]


> попробуй на более менее большом тексте...

но мне большой то и не нужен, типо непольших отчетиков из базы, слова ключевые просто нужно подсвечивать другим цветом, поэтому решил остановиться на этом решении c html думаю намного проще все это в html коде оформить.


sniknik   (2011-02-06 14:11:00) [5]

хотя нет, нужно поменять местами
    Application.ProcessMessages;
    Sleep(0);


sniknik   (2011-02-06 14:10:00) [6]

> и нафига так тогда извращаться
попробуй на более менее большом тексте...

хотя код, с перекладыванием из одного в другое действительно  действительно не особо...

 procedure WB_LoadHTML(WebBrowser: TWebBrowser; HTMLCode: string);
 var
   ms: TStringStream;
 begin
  WebBrowser.Navigate('about:blank');
  while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do begin
    Sleep(0);
    Application.ProcessMessages;
  end;

  if Assigned(WebBrowser.Document) then begin
    ms:= TStringStream.Create(HTMLCode);
    try
      (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms));
    finally
      ms.Free;
    end;
  end;
 end;


new_user   (2011-02-06 13:23:00) [7]


> niknik ©   (05.02.11 21:52) [1]
> WebBrowser1.Navigate('about:<html><body>оп ля!</body></html>');
>

Cпасибо вам. Нарыл пример:
procedure WB_LoadHTML(WebBrowser: TWebBrowser; HTMLCode: string);
var
 sl: TStringList;
 ms: TMemoryStream;
begin
 WebBrowser.Navigate('about:blank');
 while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do
   Application.ProcessMessages;

 if Assigned(WebBrowser.Document) then
 begin
   sl := TStringList.Create;
   try
     ms := TMemoryStream.Create;
     try
       sl.Text := HTMLCode;
       sl.SaveToStream(ms);
       ms.Seek(0, 0);
       (WebBrowser.Document as
         IPersistStreamInit).Load(TStreamAdapter.Create(ms));
     finally
       ms.Free;
     end;
   finally
     sl.Free;
   end;
 end;
end;

и нафига так тогда извращаться


sniknik   (2011-02-05 21:52:00) [8]

WebBrowser1.Navigate('about:<html><body>оп ля!</body></html>');


Наверх

Титульная страница Поиск, карта сайта Написать письмо