Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как просмотреть HTML


Автор: Ch0bits 4.11.2005, 03:30
Есть сгенерированный HTML код, хранящийся в TStrings.
Как просмотреть его с помощью TWebBrowser? Или чем его ещё можно просмотреть?

Автор: SoWa 4.11.2005, 04:12
Созранить его как HTML файл и загрузить его в WebBrowser.

Автор: F1reF0x 4.11.2005, 04:13
Я бы сделал так.

Hfile.SaveToFile('1.html');
WebBrowser1.Navigate('file:///C:/1.html');

Автор: Alex 4.11.2005, 08:45
http://vingrad.ru/DELPHI-DLP-001288

Автор: Ch0bits 4.11.2005, 13:15
Alex
Код

var 
  v: Variant; 
  HTMLDocument: IHTMLDocument2; 
begin 
  HTMLDocument := WebBrowser1.Document as IHTMLDocument2; 
  v := VarArrayCreate([0, 0], varVariant); 
  v[0] := HTMLString; // Это Ваша HTML строка
  HTMLDocument.Write(PSafeArray(TVarData(v).VArray)); 
  HTMLDocument.Close; ... 
end;

Не понял, что такое IHTMLDocument2, его даже в справке нет?

Нашёл решение проблемы в DRKB:
Код

uses  
  ActiveX;  

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;  

procedure TForm1.Button1Click(Sender: TObject);  
begin  
  WB_LoadHTML(WebBrowser1,'SwissDelphiCenter');  
end;

Автор: p0s0l 4.11.2005, 13:19
Цитата(Vadim999 @ 4.11.2005, 13:15)
Не понял, что такое IHTMLDocument2, его даже в справке нет?
Надо подключить модуль MSHTML

Автор: Демо 4.11.2005, 17:53
Код

var
    s: String;
    v: OleVariant;
begin
    s := '<b><i>sdfsdfsdfsdf</i></b>';
    v := 'about:'+s;

    WebBrowser1.Navigate2(v);
end;


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)