• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1692
  • Last Modified:

TWebBrowser LOAD FROM MEMO

TWebBrowser LOAD FROM MEMO

How to load WebBrowser1 HTML from Memo1.Text (HTML TEXT) ?

Thanks.
0
treqw
Asked:
treqw
1 Solution
 
bruintjeCommented:
Hi treqw,

maybe this can get you going a bit
http://www.swissdelphicenter.ch/torry/showcode.php?id=1096&PHPSESSID=813405c0944d27364a4d6dff9ae62775

you can put the memo text into the html string

HTH:O)Bruintje
0
 
CesarioCommented:
uses ActiveX;

{Loads the contents of the "Stream" into the "WebBrowser"
"Stream" should contain HTML code}
procedure LoadStream(WebBrowser: TWebBrowser; Stream: TStream);
var
  PersistStreamInit: IPersistStreamInit;
  StreamAdapter: IStream;
  MemoryStream: TMemoryStream;
begin
  {Load empty HTML document into Webbrowser to make "Document" a valid HTML document}
  WebBrowser.Navigate('about:blank');
  {wait until finished loading}
  repeat
    Application.ProcessMessages;
    Sleep(0);
  until
    WebBrowser.ReadyState = READYSTATE_COMPLETE;
  {Get IPersistStreamInit - Interface}
  if WebBrowser.Document.QueryInterface(IPersistStreamInit, PersistStreamInit) = S_OK then
  begin
    {Clear document}
    if PersistStreamInit.InitNew = S_OK then
    begin
      {Make local copy of the contents of Stream if you want to use Stream directly, you have to
      consider, that StreamAdapter will destroy it automatically}
      MemoryStream:= TMemoryStream.Create;
      try
        MemoryStream.CopyFrom(Stream, 0);        
        MemoryStream.Position:= 0;
      except
        MemoryStream.Free;
        raise;
      end;
      {Use Stream-Adapter to get IStream Interface to our stream}
      StreamAdapter:= TStreamAdapter.Create(MemoryStream, soOwned);
      {Load data from Stream into WebBrowser}
      PersistStreamInit.Load(StreamAdapter);
    end;
  end;
end;


{Let's test. You could also create a TResourceStream or TFileStream etc. here.}
procedure TForm1.Button2Click(Sender: TObject);
var
  S: TStringStream;
begin
  {To use this code, replace [ ] brackets with <> ones in the following two lines !}
  S:= TStringStream.Create(Memo1.Text)
  try
    LoadStream(WebBrowser1, S);
  finally
    S.Free;
  end;
end;

Best Regards

Cesario
0
 
delproCommented:
go to http://www.pbear.com/ 
and download the HTML Display Components

This is how easy it is.

   HTMLViewer1.LoadFromString(memo1.Text);
0
 
Lee_NoverCommented:
nice :)
another way would be to install EmbededWB from http://www.euromind.com/iedelphi/
0
 
bruintjeCommented:
wow, thanks for the grade
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now