Difference between revisions of "Webbrowser/de"
(Created page with "{{Webbrowser}} Diese Seite fasst die unterschiedlichen Varianten zusammen, HTML-Seiten von einem Pascal-Programm aus anzuzeigen. Es reicht von "einen externen Browser aufrufe...") |
(→OpenURL: Aufzählung) |
||
Line 7: | Line 7: | ||
==OpenURL== | ==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 <nowiki>'mailto:einname@EineAddresse?subject=:::Betreff'</nowiki> | + | 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 <nowiki>'mailto:einname@EineAddresse?subject=:::Betreff'</nowiki> | ||
+ | * eine Webadresse zu öffnen z.B:<nowiki>'http://'</nowiki> | ||
+ | * lokale Dateien anzuzeigen<nowiki>'file:///'</nowiki>. | ||
<syntaxhighlight> | <syntaxhighlight> |
Revision as of 10:09, 19 July 2015
│
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
Siehe auch
- Executing External Programs/de
- fphttpclient Teil der FCL-Web, kann aber auch allein benutzt werden um HTTP-Content zu laden.