Webbrowser/de
│
Deutsch (de) │
English (en) │
español (es) │
русский (ru) │
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".
Einen externen Webbrowser mit einer Seite/URL starten
OpenURL
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:
- eMail zu senden 'mailto:einname@EineAddresse?subject=:::Betreff'
- eine Webadresse zu öffnen z.B:'http://'
- lokale Dateien anzuzeigen'file:///'.
uses LCLIntf;
...
OpenURL('http://www.lazarus.freepascal.org');
Den voreingestellten Webbrowser finden
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:
uses
Classes, ..., LCLProc, LazHelpHTML;
...
implementation
procedure TMainForm.Button1Click(Sender: TObject);
var
v: THTMLBrowserHelpViewer;
BrowserPath, BrowserParams: string;
begin
v:=THTMLBrowserHelpViewer.Create(nil);
v.FindDefaultBrowser(BrowserPath,BrowserParams);
debugln(['Path=',BrowserPath,' Params=',BrowserParams]);
v.Free;
end;
Unter Ubuntu (Linux) zum Beispiel ergibt diese:
Browser=/usr/bin/xdg-open Params=%s
Unter Windows:
Browser=C:\windows\system32\rundll32.exe Params=url.dll,FileProtocolHandler %s
Start des Browsers
Wenn man die Kommandozeile und Parameter für den Browser kennt kann man TProcessUTF8 benutzen um den Browser zu starten:
uses
Classes, ..., LCLProc, LazHelpHTML, UTF8Process;
...
implementation
procedure TMainForm.Button1Click(Sender: TObject);
var
v: THTMLBrowserHelpViewer;
BrowserPath, BrowserParams: string;
p: LongInt;
URL: String;
BrowserProcess: TProcessUTF8;
begin
v:=THTMLBrowserHelpViewer.Create(nil);
try
v.FindDefaultBrowser(BrowserPath,BrowserParams);
debugln(['Path=',BrowserPath,' Params=',BrowserParams]);
URL:='http://www.lazarus.freepascal.org';
p:=System.Pos('%s', BrowserParams);
System.Delete(BrowserParams,p,2);
System.Insert(URL,BrowserParams,p);
// Browser starten
BrowserProcess:=TProcessUTF8.Create(nil);
try
BrowserProcess.CommandLine:=BrowserPath+' '+BrowserParams;
BrowserProcess.Execute;
finally
BrowserProcess.Free;
end;
finally
v.Free;
end;
end;
Eine Webbrowser-Komponente in die Applikation integrieren
Turbopower internet pro-Elemente benutzen
Lazarus stellt das Paket TurboPowerIPro (lazarus/components/turbopower_ipro/turbopoweripro.lpk) bereit. Es hat folgende Vorzüge:
- 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.
- Es ist vollkommen in Pascal geschrieben. Es arbeitet deshalb von Vorn herein platformübergreifend, ohne zusätzlichen Installationsaufwand.
- Man hat volle Kontrolle, welche Dateien/URLs geöffnet werden.
- Es hat nicht alle Features eines 'richtigen' Webbrowsers, z.B: Kein Multimedia-Zeug, Javascript oder Flash, dies muß man selbst implementieren.
Es exitieren Beispiele in lazarus/components/turbopower_ipro/examples die demonstrieren, wie man eine lokale HTML-Datei mit Bildern anzeigt, Hyperlinks verfolgt mit Historie.
QT Webkit
Benutzt man das Qt-WidgetSet (-> Qt_Interface) kann man auch das Qt-WebKit benutzen um einen Browser in ein LCL-Form zu intrgrieren.
Lazarus LCL/Qt WebKit Demo verfügbar auf FPC Qt4 Binding Web Page
THtmlPort
THtmlPort ist eine Lazarus/Free Pascal Version von Dave Baldwins HTML-Komponenten. Enthalten ist u.a. THtmlViewer, TFrameViewer und TFrameBrowser.
fpCEF3
Chromium Embedded Framework für Free Pascal
GeckoPort
GeckoPort ist eine Lazarus/Free Pascal Version von Takanori Ito's Gecko SDK für Delphi. Enthält u.a. TGeckoBrowser-Komponente.
LazActiveX
Importiert die Internet Explorer Typen-Bibliothek. (nur für Windows)
LazWebKit
Webkit für GTK2
Siehe auch
- Executing External Programs/de
- fphttpclient Teil der FCL-Web, kann aber auch allein benutzt werden um HTTP-Content zu laden.