Difference between revisions of "Webbrowser/de"

From Free Pascal wiki
Jump to navigationJump to search
(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...")
 
m (Fixed syntax highlighting)
 
(6 intermediate revisions by 2 users not shown)
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>, eine Webadresse zu öffnen <nowiki>'http://'</nowiki> oder lokale Dateien anzuzeigen<nowiki>'file:///'</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 lang=pascal>
 
uses LCLIntf;
 
uses LCLIntf;
 
...
 
...
Line 20: Line 23:
 
Man kann deren Methode ''FindDefaultBrowser'' benutzen um den voreingestellten browser und dessen Startparameter herauszufinden. Zum Beispiel:
 
Man kann deren Methode ''FindDefaultBrowser'' benutzen um den voreingestellten browser und dessen Startparameter herauszufinden. Zum Beispiel:
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
uses  
 
uses  
 
   Classes, ..., LCLProc, LazHelpHTML;
 
   Classes, ..., LCLProc, LazHelpHTML;
Line 49: Line 52:
 
Wenn man die Kommandozeile und Parameter für den Browser kennt kann man ''TProcessUTF8'' benutzen um den Browser zu starten:
 
Wenn man die Kommandozeile und Parameter für den Browser kennt kann man ''TProcessUTF8'' benutzen um den Browser zu starten:
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
uses  
 
uses  
 
   Classes, ..., LCLProc, LazHelpHTML, UTF8Process;
 
   Classes, ..., LCLProc, LazHelpHTML, UTF8Process;
Line 103: Line 106:
 
==QT Webkit==
 
==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 [http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html 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]]
 +
 +
[http://sourceforge.net/p/lazwebkit/wiki/Home/ lazwebkit]
  
 
=Siehe auch=
 
=Siehe auch=
  
 
* [[Executing External Programs/de]]
 
* [[Executing External Programs/de]]
* [[fphttpclient]] Teil der FCL-Web, kann aber auch allein benutzt werden um HTTP-Content zu laden.  
+
* [[fphttpclient]] Teil der FCL-Web, kann aber auch allein benutzt werden um HTTP-Content zu laden.
 
 
[[Category:Tutorials]]
 
[[Category:Inter-process communication]]
 

Latest revision as of 10:46, 4 March 2020

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

lazwebkit

Siehe auch