Difference between revisions of "Webbrowser/es"
Aguila3000 (talk | contribs) (Undo revision 60457 by Aguila3000 (talk)) |
Aguila3000 (talk | contribs) |
||
Line 1: | Line 1: | ||
{{Webbrowser/es}} | {{Webbrowser/es}} | ||
− | + | Esta página resume varios modos para mosrar paginas HTML desde un programa pascal, que van desde llamar a un navegador externo a la adición de un componente capaz de mostrar una página html en un formulario. | |
− | = | + | =Iniciando un navegador web para mostrar un pagina desde su URL= |
==OpenURL== | ==OpenURL== | ||
− | OpenURL | + | OpenURL es el modo más simple para arbir cualquier URL. Este procedimiento detecta el navegador por defecto del sistema y abre el URL colocado en su unico parametro. Este puede usar para direcciones de correo electronico con el siguiente formato <nowiki>'mailto:aname@AnAddress?subject=:::A subject line'</nowiki>, y las direcciones web con este formato <nowiki>'http://'</nowiki> y para archivos con este otro <nowiki>'file:///'</nowiki>. |
<syntaxhighlight> | <syntaxhighlight> | ||
Line 15: | Line 15: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | == | + | ==Encontrando el navegador por defecto del sistema== |
Every platform has a mechanism for its default platform. The LCL unit '''lazhelphtml''' contains a class THTMLBrowserHelpViewer to start a web browser for the LCL help system. | Every platform has a mechanism for its default platform. The LCL unit '''lazhelphtml''' contains a class THTMLBrowserHelpViewer to start a web browser for the LCL help system. | ||
Line 45: | Line 45: | ||
Browser=C:\windows\system32\rundll32.exe Params=url.dll,FileProtocolHandler %s | Browser=C:\windows\system32\rundll32.exe Params=url.dll,FileProtocolHandler %s | ||
− | == | + | ==Iniciando un navegador== |
Once you know the command line and parameters you can use TProcessUTF8 to start the browser: | Once you know the command line and parameters you can use TProcessUTF8 to start the browser: | ||
Line 89: | Line 89: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | = | + | =Integrando un componente navegador web "web browser" en una aplicación= |
− | == | + | ==Usando el control "Turbopower Internet pro"== |
Lazarus provides the package TurboPowerIPro (lazarus/components/turbopower_ipro/turbopoweripro.lpk) with the following features: | Lazarus provides the package TurboPowerIPro (lazarus/components/turbopower_ipro/turbopoweripro.lpk) with the following features: | ||
Line 115: | Line 115: | ||
GeckoPort is a Lazarus/Free Pascal version of Takanori Ito's Gecko SDK for Delphi, including the TGeckoBrowser component. | GeckoPort is a Lazarus/Free Pascal version of Takanori Ito's Gecko SDK for Delphi, including the TGeckoBrowser component. | ||
− | = | + | =Revisar tambien= |
* [[Executing External Programs]] | * [[Executing External Programs]] | ||
[[Category:Tutorials]] | [[Category:Tutorials]] |
Revision as of 17:06, 11 August 2012
Esta página resume varios modos para mosrar paginas HTML desde un programa pascal, que van desde llamar a un navegador externo a la adición de un componente capaz de mostrar una página html en un formulario.
OpenURL
OpenURL es el modo más simple para arbir cualquier URL. Este procedimiento detecta el navegador por defecto del sistema y abre el URL colocado en su unico parametro. Este puede usar para direcciones de correo electronico con el siguiente formato 'mailto:aname@AnAddress?subject=:::A subject line', y las direcciones web con este formato 'http://' y para archivos con este otro 'file:///'.
uses LCLIntf;
...
OpenURL('http://www.lazarus.freepascal.org');
Every platform has a mechanism for its default platform. The LCL unit lazhelphtml contains a class THTMLBrowserHelpViewer to start a web browser for the LCL help system. You can use its method FindDefaultBrowser to find the default browser and the parameter to start. For example:
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;
This gives for example under Ubuntu (Linux):
Browser=/usr/bin/xdg-open Params=%s
Under Windows you can get:
Browser=C:\windows\system32\rundll32.exe Params=url.dll,FileProtocolHandler %s
Once you know the command line and parameters you can use TProcessUTF8 to start the browser:
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);
// start browser
BrowserProcess:=TProcessUTF8.Create(nil);
try
BrowserProcess.CommandLine:=BrowserPath+' '+BrowserParams;
BrowserProcess.Execute;
finally
BrowserProcess.Free;
end;
finally
v.Free;
end;
end;
Usando el control "Turbopower Internet pro"
Lazarus provides the package TurboPowerIPro (lazarus/components/turbopower_ipro/turbopoweripro.lpk) with the following features:
- It contains a control to put onto a form. When you install the package in the IDE, you get some new components in the palette, so you can drop them onto a form just like any LCL control.
- It is written completely in pascal and therefore works on all platforms out of the box without any extra installation.
- You have the full control, what files/urls are opened.
- It does not have all the features of a full webbrowser. No multimedia stuff, javascript or flash. This must be implemented by you.
There are some examples in lazarus/components/turbopower_ipro/examples demonstrating how to open a local html file with some images, hyperlinks and history buttons.
QT Webkit
When using the Qt WidgetSet, you can use the Qt WebKit to embed a browser into a LCL form.
Lazarus LCL/Qt WebKit Demo available on FPC Qt4 Binding Web Page
THtmlPort
THtmlPort is a Lazarus/Free Pascal version of Dave Baldwin's HTML Components, including THtmlViewer, TFrameViewer and TFrameBrowser.
GeckoPort
GeckoPort is a Lazarus/Free Pascal version of Takanori Ito's Gecko SDK for Delphi, including the TGeckoBrowser component.