Delphi-PRAXiS
Seite 1 von 6  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi LoadHTMLToWebBrowser(Webbrowser1,'01.htm'); (https://www.delphipraxis.net/99523-loadhtmltowebbrowser-webbrowser1-01-htm-%3B.html)

taktaky 13. Sep 2007 12:27


LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
 
Hallo,

ich habe einige html-Dateien mit exe gepackt. Auf Form habe ich einen Webbrowser1
Nun möchte ich eine html in meinen Webbrwoser1 laden
Der html-Name wird in der ListBox1 auch gelistet

wie kann ich die html Datei (die mit exe gepackt) in Webbrwoser laden?

ich habe so versucht:
Delphi-Quellcode:

//webbrwoser funktion
procedure LoadHTMLToWebbrowser(AWebBrowser: TWebBrowser; AHTMLCode: TStrings);
var
  myDocument:OleVariant;
begin

  //falls nötig, leere Seite anzeigen
  if AWebBrowser.Document = nil then AWebBrowser.Navigate('about:blank');

  //HTML-Code in TWebBrowser.Document schreiben
  myDocument:=AWebBrowser.Document;
  myDocument.Clear;
  myDocument.Write(AHTMLCode.Text);
  myDocument.Close;

end;
procedure TForm1.Button2Click(Sender: TObject);
begin
LoadHTMLToWebBrowser(Webbrowser1,ListBox1.Items); //wird leider nur den html-Namen in Webbrowser angezeigt

end;


procedure TForm1.Button2Click(Sender: TObject);
begin
LoadHTMLToWebBrowser(Webbrowser1,'01.htm');// geht auch nicht
end;

end.

Andreas L. 13. Sep 2007 12:41

Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
 
Du sagst du hast die HTML-Datei in die Exe gepackt also musst du wohl Hier im Forum suchenLoadFromRessource verwenden.

taktaky 13. Sep 2007 13:32

Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
 
Zitat:

Zitat von Andreas L.
Du sagst du hast die HTML-Datei in die Exe gepackt also musst du wohl Hier im Forum suchenLoadFromRessource verwenden.

Beispiel? auf von dir gegebenen Link finde ich nichts

Gruß

shmia 13. Sep 2007 13:47

Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
 
So geht's:

Delphi-Quellcode:
procedure WaitForBrowser(WebBrowser:TWebBrowser);
begin
   while WebBrowser.ReadyState <> READYSTATE_COMPLETE do
   begin
      Application.ProcessMessages;
      Sleep(50);
   end;
end;

procedure Document_SetHTML(Document: IDispatch; const HTMLCode: string);
var
  ms: TStringStream;
begin
   if Assigned(Document) then
   begin
      ms := TStringStream.Create(HTMLCode);
      try
         ms.Seek(0, 0);
         OleCheck((Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms)));
      finally
         ms.Free;
      end;
   end;
end;

function Document_GetHTML(Document: IDispatch):string;
var
   ms: TStringStream;
begin
   Result := '';
   if Assigned(Document) then
   begin
      ms := TStringStream.Create(Result);
      try
         OleCheck((Document as IPersistStreamInit).Save(TStreamAdapter.Create(ms),False));
         Result := ms.DataString;
      finally
         ms.Free;
      end;
   end;
end;

procedure WB_SetHTML(WebBrowser: TWebBrowser; const HTMLCode: string);
begin
   if not Assigned(WebBrowser.Document) then
      WebBrowser.Navigate('about:blank');
   WaitForBrowser(WebBrowser);

   Document_SetHTML(WebBrowser.Document, HTMLCode);
end;

function WB_GetHTML(WebBrowser: TWebBrowser): string;
begin
   Result := Document_GetHTML(WebBrowser.Document);
end;
Aufruf:
Delphi-Quellcode:
WB_SetHTML(WebBrowser1, AHTMLCode.Text);

taktaky 13. Sep 2007 14:07

Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
 
Hallo,

was ist mit AHTMLCode?

Delphi-Quellcode:
procedure TfrmMain.Button2Click(Sender: TObject);
//var: AHTMLCode: String;
begin
WB_SetHTML(WebBrowser1, AHTMLCode.Text);
end;
http://members.lycos.co.uk/forforums...wserladen2.jpg

Andreas L. 13. Sep 2007 14:14

Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
 
Zitat:

Zitat von taktaky
Hallo,

was ist mit AHTMLCode?

Delphi-Quellcode:
procedure TfrmMain.Button2Click(Sender: TObject);
//var: AHTMLCode: String;
begin
WB_SetHTML(WebBrowser1, AHTMLCode.Text);
end;

Vermutlich ein TEdit. Aber der Code wird dir nichts nützen wenn du die HTML-Datei in die Exe-Kompiliert hast. Zumindest nicht, wenn du Ressourcen verwendest. Zeig doch mal den Code, mit dem du das HTML in die Exe einbindest!

Klaus01 13. Sep 2007 14:25

Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
 
Delphi-Quellcode:
procedure WB_SetHTML(WebBrowser: TWebBrowser; const HTMLCode: string);
begin
   if not Assigned(WebBrowser.Document) then
      WebBrowser.Navigate('about:blank');
   WaitForBrowser(WebBrowser);

   Document_SetHTML(WebBrowser.Document, HTMLCode);
end;
Wie man aus dem obigen Code erkennen kann, wird der HTML Code als String im zweiten Parameter
übergeben.
Wie diese Variable bei Dir heißt, das weißt nur Du.


Grüße
Klaus

shmia 13. Sep 2007 14:28

Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
 
Zitat:

Zitat von taktaky
was ist mit AHTMLCode?

Bitte nicht alles ohne nachzudenken kopieren.
"AHTMLCode" ist eine Stringliste aus deinem Code.
Die Procedure WB_SetHTML() erwartet zwei Parameter: ein WebBrowser-Objekt und einen String, der HTML-Code enthält.
Nur du kannst wiessen, aus welchen Variable/Komponente der HTML-Code herkommt.

taktaky 13. Sep 2007 14:57

Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
 
Zitat:

Zitat von shmia
Die Procedure WB_SetHTML() erwartet zwei Parameter: ein WebBrowser-Objekt und einen String, der HTML-Code enthält.
Nur du kannst wiessen, aus welchen Variable/Komponente der HTML-Code herkommt.

Also WebBrowser-Objekt ist klar : WebBrowser1
String, der html-Code enthält : Vielleicht so :
Delphi-Quellcode:
WB_SetHTML(WebBrowser1, ListBox1.Items[0]); // es wird wieder nur der Dateiname angezeigt und nicht der Inhalt !
http://members.lycos.co.uk/forforums...wserladen3.jpg

DeddyH 13. Sep 2007 15:02

Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
 
Delphi-Quellcode:
var Dateiinhalt: TStringList;
begin
  Dateiinhalt := TStringList.Create;
  try
    Dateiinhalt.LoadFromFile(ListBox1.Items[0]);
    WB_SetHTML(WebBrowser1, Dateiinhalt);
  finally
    FreeAndNil(Dateiinhalt);
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:05 Uhr.
Seite 1 von 6  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz