AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi String in TWebBrowser laden???
Thema durchsuchen
Ansicht
Themen-Optionen

String in TWebBrowser laden???

Ein Thema von romber · begonnen am 29. Sep 2004 · letzter Beitrag vom 3. Mai 2006
Antwort Antwort
Seite 1 von 2  1 2      
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#1

String in TWebBrowser laden???

  Alt 29. Sep 2004, 14:58
Hallo!!!

Ich habe in einem String die selbsgenerierte Quellcode einer Web-Seite. Kann ich die Quellcode irgendwie direkt aus dem Sttring in eine TWebBrowser laden, ohne diese Code in einer Datei auf der Festplatte zu speichern?

Danke!
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: String in TWebBrowser laden???

  Alt 29. Sep 2004, 15:00
Soweit ich weiss leider nicht.
Aber du könntest eine Temporäre Datei erstellen, die nach dem Ladevorgang gelöscht wird.
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: String in TWebBrowser laden???

  Alt 29. Sep 2004, 15:02
hi,

also ich habe es so mal so gelöst:

1. per webbrowser1.navigate('about:blank'); eine leere seite aufrufen
2. mit folgendem code HTML in das dokument hinzufügen:

Delphi-Quellcode:
procedure AddHTML(HTML: string);
var range: IHTMLTxtRange;
begin
  Range := ((WebBrowser1.Document as IHTMLDocument2).body as
    IHTMLBodyElement).createTextRange;
  Range.collapse(False);
  Range.pasteHTML(html);

  //folgendes ist optional. es bewirkt, dass automatisch nach unten gescrollt wird
  OleVariant(WebBrowser1.Document as IHTMLDocument2).Body.ScrollTop := MaxInt;
end;
Aenogym

edit: prozedurheader geändert - war zu spezifisch
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#4

Re: String in TWebBrowser laden???

  Alt 29. Sep 2004, 15:10
Danke. Und was muss ich usen, um auf IHTMLTxtRange zu kommen???
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: String in TWebBrowser laden???

  Alt 29. Sep 2004, 15:24
Hab mal irgendwo folgenden Quelltext gefunden :

Delphi-Quellcode:
procedure LoadStream(WebBrowser: TWebBrowser; Stream: TStream);
var
   PersistStreamInit: IPersistStreamInit;
   StreamAdapter: IStream;
   MemoryStream: TMemoryStream;
begin
   WebBrowser.Navigate('about:blank');
   repeat
     Application.ProcessMessages;
     Sleep(0);
   until WebBrowser.ReadyState = READYSTATE_COMPLETE;
   if WebBrowser.Document.QueryInterface(IPersistStreamInit,
     PersistStreamInit) = S_OK then
   begin
     if PersistStreamInit.InitNew = S_OK then
     begin
       MemoryStream:= TMemoryStream.Create;
       try
         MemoryStream.CopyFrom(Stream, 0);
         MemoryStream.Position:= 0;
       except
         MemoryStream.Free;
         raise;
       end;
       StreamAdapter:= TStreamAdapter.Create(MemoryStream, soOwned);
       PersistStreamInit.Load(StreamAdapter);
     end;
   end;
end;
Mußt nur Deinen String in nen Stream schreiben, das wirste aber sicher allein hinbekommen
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

Re: String in TWebBrowser laden???

  Alt 29. Sep 2004, 16:00
Bei mir läuft das so auch ganz gut.
Delphi-Quellcode:
If WebBrowser1.Document = nil Then WebBrowser1.Navigate('about:blank');
OleVariant(WebBrowser1.Document as IHTMLDocument2).Clear;
OleVariant(WebBrowser1.Document as IHTMLDocument2).Write(DeinString);
OleVariant(WebBrowser1.Document as IHTMLDocument2).Close;
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: String in TWebBrowser laden???

  Alt 29. Sep 2004, 16:32
hi,

ich würd himitsu's weg nehmen, der ist eindeutig kürzer
(danke, himi, werd ich gleich in mein programm bauen )

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: String in TWebBrowser laden???

  Alt 30. Sep 2004, 08:29
Zitat:
Wenn sich jeder immer nur bei Dem bedanken würde, dessen Hilfe die
angenehmste war, wird er bald auf Hilfe verzichten müssen...
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

Re: String in TWebBrowser laden???

  Alt 30. Sep 2004, 08:58
Och nicht trauchig sein anderer Micha,
dafür hab ich ja auch meinen Variante selber, mit Hilfe dutzender Webseiten (komischer Weise überwiegend Asiatischer ), zusammengebastelt und dann noch auf dieses hier vereinfacht/runteroptimiert (da stecken fast 2 Wochen harte Arbeit drin)

[add]
Aenogym's Vorschlag ist vorallem größer, weil dort der Code an 'nen vorhandenen Code angehängt und dann auch noch runtergescrollt wird.
Und bei mir wird nicht gescrollt und ein eventuell vorhandener Code wird gelöscht/überschrieben (durch's Clear)
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von retnyg
retnyg

Registriert seit: 12. Feb 2005
193 Beiträge
 
#10

Re: String in TWebBrowser laden???

  Alt 3. Mai 2006, 13:54
ist zwar ein altes thema, aber mit einem frameset scheint das ganze nicht zu funktionieren...

hast du ne ahnung warum ?

Delphi-Quellcode:

const newframeset = '<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN > <META http-equiv= Content-Type content= text/html; charset=iso-8859-1 > '#13 +
#10'<HTML> <HEAD> <TITLE>test</TITLE> '#13 +
#10'</HEAD> '#13 +
#10'<FRAMESET BORDER= 0 COLS= 191,609,* > '#13#10' <FRAME NAME= navigation ID= navigation FRAMEBORDER= 0 NORESIZE= NORESIZE SCROLLING= NO SRC= %s > '#13 +
#10' <FRAMESET BORDER= 0 ROWS= 60,* > '#13 +
#10' <FRAME NAME= statusbar ID= statusbar FRAMEBORDER= 0 NORESIZE= NORESIZE SCROLLING= NO SRC= %s >'#13 +
#10 +
' <FRAME NAME= mainframe ID= mainframe FRAMEBORDER= 0 NORESIZE= NORESIZE SCROLLING= NO SRC= %s >'#13 +
#10' </FRAMESET> '#13 +
#10' <NOFRAMES> Ihr Browser kann diese Seite leider nicht anzeigen. </NOFRAMES>'#13 +
#10'</FRAMESET> '#13 +
#10'</HTML> ';

 frame1 = 'test.html';
 frame2 = 'test.html';
 frame3 = 'test.html';

     newhtml := format( newframeset, [frame1 , frame2 , frame3]);
     olevariant(webbrowser1.document as IHTMLDocument2).clear;
     olevariant(webbrowser1.document as IHTMLDocument2).write(newhtml);
     olevariant(webbrowser1.document as IHTMLDocument2).close;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 06:38 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