Sign in Join
Wiki copytemporary

Webbrowser/de: what changed

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

Title: Webbrowser/de

OldNewLine
1+Diese 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".
2+
3+# Einen externen Webbrowser mit einer Seite/URL starten
4+
5+## OpenURL
6+
7+OpenURL 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:
8+
9+- eMail zu senden 'mailto:einname@EineAddresse?subject=:::Betreff'
10+- eine Webadresse zu öffnen z.B:'http://'
11+- lokale Dateien anzuzeigen'file:///'.
12+
13+``` pascal
14+uses LCLIntf;
15+...
16+OpenURL('http://www.lazarus.freepascal.org');
17+```
18+
19+## Den voreingestellten Webbrowser finden
20+
21+Jede 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:
22+
23+``` pascal
24+uses
25+ Classes, ..., LCLProc, LazHelpHTML;
26+
27+...
28+
29+implementation
30+
31+procedure TMainForm.Button1Click(Sender: TObject);
32+var
33+ v: THTMLBrowserHelpViewer;
34+ BrowserPath, BrowserParams: string;
35+begin
36+ v:=THTMLBrowserHelpViewer.Create(nil);
37+ v.FindDefaultBrowser(BrowserPath,BrowserParams);
38+ debugln(['Path=',BrowserPath,' Params=',BrowserParams]);
39+ v.Free;
40+end;
41+```
42+
43+Unter Ubuntu (Linux) zum Beispiel ergibt diese:
44+
45+`Browser=/usr/bin/xdg-open Params=%s`
46+
47+Unter Windows:
48+
49+`Browser=C:\windows\system32\rundll32.exe Params=url.dll,FileProtocolHandler %s`
50+
51+## Start des Browsers
52+
53+Wenn man die Kommandozeile und Parameter für den Browser kennt kann man *TProcessUTF8* benutzen um den Browser zu starten:
54+
55+``` pascal
56+uses
57+ Classes, ..., LCLProc, LazHelpHTML, UTF8Process;
58+
59+...
60+
61+implementation
62+
63+procedure TMainForm.Button1Click(Sender: TObject);
64+var
65+ v: THTMLBrowserHelpViewer;
66+ BrowserPath, BrowserParams: string;
67+ p: LongInt;
68+ URL: String;
69+ BrowserProcess: TProcessUTF8;
70+begin
71+ v:=THTMLBrowserHelpViewer.Create(nil);
72+ try
73+ v.FindDefaultBrowser(BrowserPath,BrowserParams);
74+ debugln(['Path=',BrowserPath,' Params=',BrowserParams]);
75+
76+ URL:='http://www.lazarus.freepascal.org';
77+ p:=System.Pos('%s', BrowserParams);
78+ System.Delete(BrowserParams,p,2);
79+ System.Insert(URL,BrowserParams,p);
80+
81+ // Browser starten
82+ BrowserProcess:=TProcessUTF8.Create(nil);
83+ try
84+ BrowserProcess.CommandLine:=BrowserPath+' '+BrowserParams;
85+ BrowserProcess.Execute;
86+ finally
87+ BrowserProcess.Free;
88+ end;
89+ finally
90+ v.Free;
91+ end;
92+end;
93+```
94+
95+# Eine Webbrowser-Komponente in die Applikation integrieren
96+
97+## *Turbopower internet pro*-Elemente benutzen
98+
99+Lazarus stellt das Paket *TurboPowerIPro* (lazarus/components/turbopower_ipro/turbopoweripro.lpk) bereit. Es hat folgende Vorzüge:
100+
101+- 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.
102+- Es ist vollkommen in Pascal geschrieben. Es arbeitet deshalb von Vorn herein platformübergreifend, ohne zusätzlichen Installationsaufwand.
103+- Man hat volle Kontrolle, welche Dateien/URLs geöffnet werden.
104+- Es hat nicht alle Features eines 'richtigen' Webbrowsers, z.B: Kein Multimedia-Zeug, Javascript oder Flash, dies muß man selbst implementieren.
105+
106+Es exitieren Beispiele in *lazarus/components/turbopower_ipro/examples* die demonstrieren, wie man eine lokale HTML-Datei mit Bildern anzeigt, Hyperlinks verfolgt mit Historie.
107+
108+## QT Webkit
109+
110+Benutzt man das Qt-WidgetSet (-\> [[Qt Interface]]) kann man auch das Qt-WebKit benutzen um einen Browser in ein LCL-Form zu intrgrieren.
111+
112+Lazarus LCL/Qt WebKit Demo verfügbar auf [FPC Qt4 Binding Web Page](http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html)
113+
114+## [[THtmlPort]]
115+
116+THtmlPort ist eine Lazarus/Free Pascal Version von Dave Baldwins HTML-Komponenten. Enthalten ist u.a. THtmlViewer, TFrameViewer und TFrameBrowser.
117+
118+## [[fpCEF3]]
119+
120+*Chromium Embedded Framework* für Free Pascal
121+
122+## [[GeckoPort]]
123+
124+GeckoPort ist eine Lazarus/Free Pascal Version von Takanori Ito's Gecko SDK für Delphi. Enthält u.a. TGeckoBrowser-Komponente.
125+
126+## [[LazActiveX]]
127+
128+Importiert die Internet Explorer Typen-Bibliothek. (nur für Windows)
129+
130+## LazWebKit
131+
132+Webkit für [[GTK2]]
133+
134+[lazwebkit](http://sourceforge.net/p/lazwebkit/wiki/Home/)
135+
136+# Siehe auch
137+
138+- [[Executing External Programs/de]]
139+- [[fphttpclient]] Teil der FCL-Web, kann aber auch allein benutzt werden um HTTP-Content zu laden.
140+
141+---
142+*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