![]() |
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. |
Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
Du sagst du hast die HTML-Datei in die Exe gepackt also musst du wohl
![]() |
Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
Zitat:
Gruß |
Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
So geht's:
Delphi-Quellcode:
Aufruf:
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;
Delphi-Quellcode:
WB_SetHTML(WebBrowser1, AHTMLCode.Text);
|
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; ![]() |
Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
Zitat:
|
Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
Delphi-Quellcode:
Wie man aus dem obigen Code erkennen kann, wird der HTML Code als String im zweiten Parameter
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; übergeben. Wie diese Variable bei Dir heißt, das weißt nur Du. Grüße Klaus |
Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
Zitat:
"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. |
Re: LoadHTMLToWebBrowser(Webbrowser1,'01.htm');
Zitat:
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 !
![]() |
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. |
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