Sign in Join
Wiki copytemporary

Webbrowser/de: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11Diese Seite fasst die unterschiedlichen Varianten zusammen, HTML-Seiten von einem Pascal-Programm aus anzuzeigen. Es reicht von "einen externen Browser aufrufen" bis zu "Darstellung einer HTML-Seite im Form".
22
33# Einen externen Webbrowser mit einer Seite/URL starten
44
55## OpenURL
66
77OpenURL ist die einfachste Form eine URL anzuzeigen. Diese Prozedur erkennt den voreingestellten Browser und öffnet eine URL mit den angegebenen Parametern. Sie kann benutzt werden um:
88
99- eMail zu senden 'mailto:einname@EineAddresse?subject=:::Betreff'
1010- eine Webadresse zu öffnen z.B:'http://'
1111- lokale Dateien anzuzeigen'file:///'.
1212
1313``` pascal
1414uses LCLIntf;
1515...
1616OpenURL('http://www.lazarus.freepascal.org');
1717```
1818
1919## Den voreingestellten Webbrowser finden
2020
2121Jede Plattform hat ihren eigenen Mechanismuss um den voreingestellten Browser zu definieren. Die LCL-Unit **lazhelphtml** enthält eine Klasse *THTMLBrowserHelpViewer* um einen Webbrowser für das LCL-Hilfe-System zu starten. Man kann deren Methode *FindDefaultBrowser* benutzen um den voreingestellten browser und dessen Startparameter herauszufinden. Zum Beispiel:
2222
2323``` pascal
2424uses
2525 Classes, ..., LCLProc, LazHelpHTML;
2626
2727...
2828
2929implementation
3030
3131procedure TMainForm.Button1Click(Sender: TObject);
3232var
3333 v: THTMLBrowserHelpViewer;
3434 BrowserPath, BrowserParams: string;
3535begin
3636 v:=THTMLBrowserHelpViewer.Create(nil);
3737 v.FindDefaultBrowser(BrowserPath,BrowserParams);
3838 debugln(['Path=',BrowserPath,' Params=',BrowserParams]);
3939 v.Free;
4040end;
4141```
4242
4343Unter Ubuntu (Linux) zum Beispiel ergibt diese:
4444
45-`Browser=/usr/bin/xdg-open Params=%s`
45+```text
46+Browser=/usr/bin/xdg-open Params=%s
47+```
4648
4749Unter Windows:
4850
49-`Browser=C:\windows\system32\rundll32.exe Params=url.dll,FileProtocolHandler %s`
51+```text
52+Browser=C:\windows\system32\rundll32.exe Params=url.dll,FileProtocolHandler %s
53+```
5054
5155## Start des Browsers
5256
5357Wenn man die Kommandozeile und Parameter für den Browser kennt kann man *TProcessUTF8* benutzen um den Browser zu starten:
5458
5559``` pascal
5660uses
5761 Classes, ..., LCLProc, LazHelpHTML, UTF8Process;
5862
5963...
6064
6165implementation
6266
6367procedure TMainForm.Button1Click(Sender: TObject);
6468var
6569 v: THTMLBrowserHelpViewer;
6670 BrowserPath, BrowserParams: string;
6771 p: LongInt;
6872 URL: String;
6973 BrowserProcess: TProcessUTF8;
7074begin
7175 v:=THTMLBrowserHelpViewer.Create(nil);
7276 try
7377 v.FindDefaultBrowser(BrowserPath,BrowserParams);
7478 debugln(['Path=',BrowserPath,' Params=',BrowserParams]);
7579
7680 URL:='http://www.lazarus.freepascal.org';
7781 p:=System.Pos('%s', BrowserParams);
7882 System.Delete(BrowserParams,p,2);
7983 System.Insert(URL,BrowserParams,p);
8084
8185 // Browser starten
8286 BrowserProcess:=TProcessUTF8.Create(nil);
8387 try
8488 BrowserProcess.CommandLine:=BrowserPath+' '+BrowserParams;
8589 BrowserProcess.Execute;
8690 finally
8791 BrowserProcess.Free;
8892 end;
8993 finally
9094 v.Free;
9195 end;
9296end;
9397```
9498
9599# Eine Webbrowser-Komponente in die Applikation integrieren
96100
97101## *Turbopower internet pro*-Elemente benutzen
98102
99103Lazarus stellt das Paket *TurboPowerIPro* (lazarus/components/turbopower_ipro/turbopoweripro.lpk) bereit. Es hat folgende Vorzüge:
100104
101105- Es enthält Steuerelemente für den Form-Designer. Bim installieren in die IDE, erhält man neue Komponenten in der Komponenten-Palette, die man einfach, wie jedes andere LCL-Element benutzen kann.
102106- Es ist vollkommen in Pascal geschrieben. Es arbeitet deshalb von Vorn herein platformübergreifend, ohne zusätzlichen Installationsaufwand.
103107- Man hat volle Kontrolle, welche Dateien/URLs geöffnet werden.
104108- Es hat nicht alle Features eines 'richtigen' Webbrowsers, z.B: Kein Multimedia-Zeug, Javascript oder Flash, dies muß man selbst implementieren.
105109
106110Es exitieren Beispiele in *lazarus/components/turbopower_ipro/examples* die demonstrieren, wie man eine lokale HTML-Datei mit Bildern anzeigt, Hyperlinks verfolgt mit Historie.
107111
108112## QT Webkit
109113
110114Benutzt man das Qt-WidgetSet (-\> [[Qt Interface]]) kann man auch das Qt-WebKit benutzen um einen Browser in ein LCL-Form zu intrgrieren.
111115
112116Lazarus LCL/Qt WebKit Demo verfügbar auf [FPC Qt4 Binding Web Page](http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html)
113117
114118## [[THtmlPort]]
115119
116120THtmlPort ist eine Lazarus/Free Pascal Version von Dave Baldwins HTML-Komponenten. Enthalten ist u.a. THtmlViewer, TFrameViewer und TFrameBrowser.
117121
118122## [[fpCEF3]]
119123
120124*Chromium Embedded Framework* für Free Pascal
121125
122126## [[GeckoPort]]
123127
124128GeckoPort ist eine Lazarus/Free Pascal Version von Takanori Ito's Gecko SDK für Delphi. Enthält u.a. TGeckoBrowser-Komponente.
125129
126130## [[LazActiveX]]
127131
128132Importiert die Internet Explorer Typen-Bibliothek. (nur für Windows)
129133
130134## LazWebKit
131135
132136Webkit für [[GTK2]]
133137
134138[lazwebkit](http://sourceforge.net/p/lazwebkit/wiki/Home/)
135139
136140# Siehe auch
137141
138142- [[Executing External Programs/de]]
139143- [[fphttpclient]] Teil der FCL-Web, kann aber auch allein benutzt werden um HTTP-Content zu laden.
140144
141145---
142146*From the Free Pascal wiki, page "Webbrowser/de", as it stood on 2020-03-04 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history