AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

HTML Text anzeigen

Ein Thema von dr. love · begonnen am 1. Apr 2007 · letzter Beitrag vom 1. Apr 2007
Antwort Antwort
dr. love

Registriert seit: 10. Jan 2007
92 Beiträge
 
#1

HTML Text anzeigen

  Alt 1. Apr 2007, 11:47
Ich lese in einem Programm ein Stück HTML Text aus einer Datei und speicher diesen als String. Das HTML möchte ich aber (wie in einem Webbrowser) später anzeigen. Irgendwie kann TWebBrowser aber nur HTML über eine URL auslesen. Geht es auch, dass er den Code aus einem String bezieht? (also ohne, dass ich den Strin erst speichere und der Browser die Datei dann öffnet)
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: HTML Text anzeigen

  Alt 1. Apr 2007, 12:06
Hallo,

wie das geht, wird auf dieser Seite beschrieben. Vielleicht sind aber auch die HTML Viewer-Komponenten von David Baldwin für dich interessant.

Gruß Hawkeye
  Mit Zitat antworten Zitat
oschulz

Registriert seit: 29. Nov 2005
Ort: Cottbus
44 Beiträge
 
Delphi 7 Architect
 
#3

Re: HTML Text anzeigen

  Alt 1. Apr 2007, 12:08
das müsste so aussehen

in die uses muss noch SHDocVw, MSHTML und ActiveX glaube ich

Delphi-Quellcode:
tempBodyStream:=TStringStream.Create(tempbody);
LoadFromStream(ieControl, tempBodyStream);
tempBodyStream.Destroy;


procedure LoadFromStream(Dest:TWebBrowser;const Stream: TStream);
var
  Flags: OleVariant;
  i:integer;
begin
  Flags:=navNoHistory or navNoReadFromCache or navNoWriteToCache;
  if not Assigned(Dest.Document) then
    Dest.Navigate('about:blank',Flags);
  i:=0;
  if Dest.Showing then
    while (Dest.ReadyState <> READYSTATE_COMPLETE) do begin
      Application.ProcessMessages;
      Sleep(1);
      inc(i);
      if i>2500 then break;
  end;

  try
    InternalLoadDocumentFromStream(Dest,Stream);
  except
  end;
end;

procedure InternalLoadDocumentFromStream(Dest:TWebBrowser;const Stream: TStream);
var
  PS: IPersistStreamInit;
  StreamA: TStreamAdapter;
  //Doc:IHTMLDocument2;
  ret:HResult;
begin
  if Dest=nil then exit;
  if not assigned(Dest.Document) then exit;
  //Doc:=Dest.Document as IHTMLDocument2;
  PS:= Dest.Document as IPersistStreamInit;
// StreamA:=NIL;
  try
    try
      ret := PS.InitNew;
      if SUCCEEDED(ret) then
      begin
        StreamA := TStreamAdapter.Create(Stream);
        PS.Load(StreamA);
      end;
    finally
      //Stream.Free;
      //if StreamA <> nil then IUnknown(StreamA)._Release;
    end;
  finally
    //if PS <> nil then PS._Release;
  end;
end;
Oliver
Der Optimist: Das Glas ist halbvoll. - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz