Sign in Join
Wiki copytemporary

Webbrowser/es: what changed

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

OldNewLine
11Esta página resume varios modos para mostrar páginas HTML desde un programa pascal, que van desde llamar a un navegador externo hasta la adición de un componente capaz de mostrar una página html en un formulario.
22
33# Iniciando un navegador web para mostrar una página desde su URL
44
55## OpenURL
66
77   OpenURL es el modo más simple para abrir cualquier URL. Este procedimiento detecta el navegador por defecto del sistema y abre la URL colocado en su único parámetro. See puede usar con direcciones de correo electrónico con el siguiente formato 'mailto:UnNombre@UnDominio?subject=:::Es asunto', con las direcciones web con este formato 'http://' y para archivos locales con este otro 'file:///'.
88
99``` pascal
1010 uses LCLIntf;
1111 ...
1212 OpenURL('http://www.lazarus.freepascal.org');
1313```
1414
1515## Encontrando el navegador por defecto del sistema
1616
1717   Cada plataforma tiene un mecanismo para localizar el navegador predeterminado.La unidad **lazhelphtml** de la LCL dispone de la clase **THTMLBrowserHelpViewer** para ejecutar el navegador web para el subsistema de ayuda de las LCL. Usaremos el método **FindDefaultBrowser** para hallar el navegador web predeterminado y el parámetro de inicio. Por ejemplo:
1818
1919``` pascal
2020 uses
2121 Classes, ..., LCLProc, LazHelpHTML;
2222
2323 ...
2424
2525 implementation
2626
2727 procedure TMainForm.Button1Click(Sender: TObject);
2828 var
2929 v: THTMLBrowserHelpViewer;
3030 BrowserPath, BrowserParams: string;
3131 begin
3232 v:=THTMLBrowserHelpViewer.Create(nil);
3333 v.FindDefaultBrowser(BrowserPath,BrowserParams);
3434 debugln(['Ruta=',BrowserPath,' Parámetros=',BrowserParams]);
3535 v.Free;
3636 end;
3737```
3838
3939   En Ubuntu (Linux) este nos daría:
4040
41-` Ruta=/usr/bin/xdg-open Parámetros=%s`
41+```text
42+ Ruta=/usr/bin/xdg-open Parámetros=%s
43+```
4244
4345   En Windows obtendríamos:
4446
45-` Ruta=C:\windows\system32\rundll32.exe Parámetros=url.dll,FileProtocolHandler %s`
47+```text
48+ Ruta=C:\windows\system32\rundll32.exe Parámetros=url.dll,FileProtocolHandler %s
49+```
4650
4751## Iniciando un navegador
4852
4953   Una vez sabemos la línea de comandos y los parámetros usaremos TProcessUTF8 para lanzar el navegador:
5054
5155``` pascal
5256 uses
5357 Classes, ..., LCLProc, LazHelpHTML, UTF8Process;
5458
5559 ...
5660
5761 implementation
5862
5963 procedure TMainForm.Button1Click(Sender: TObject);
6064 var
6165 v: THTMLBrowserHelpViewer;
6266 BrowserPath, BrowserParams: string;
6367 p: LongInt;
6468 URL: String;
6569 BrowserProcess: TProcessUTF8;
6670 begin
6771 v:=THTMLBrowserHelpViewer.Create(nil);
6872 try
6973 v.FindDefaultBrowser(BrowserPath,BrowserParams);
7074 debugln(['Ruta=',BrowserPath,' Parámetros=',BrowserParams]);
7175
7276 URL:='http://www.lazarus.freepascal.org';
7377 p:=System.Pos('%s', BrowserParams);
7478 System.Delete(BrowserParams,p,2);
7579 System.Insert(URL,BrowserParams,p);
7680
7781 // start browser
7882 BrowserProcess:=TProcessUTF8.Create(nil);
7983 try
8084 BrowserProcess.CommandLine:=BrowserPath+' '+BrowserParams;
8185 BrowserProcess.Execute;
8286 finally
8387 BrowserProcess.Free;
8488 end;
8589 finally
8690 v.Free;
8791 end;
8892 end;
8993```
9094
9195# Integrando un componente navegador web en la aplicación
9296
9397## Usando el control "Turbopower Internet pro"
9498
9599   Lazarus provee el paquete **TurboPowerIPro** (lazarus/components/turbopower_ipro/turbopoweripro.lpk) con las siguientes características:
96100
97101- Dispone de un control para colocar en el formulario. Al instalar el paquete en el IDE, conseguimos algunos componentes nuevos en la paleta, que puedes colocar en un formulario como cualquier control de la LCL.
98102- Está escrito completamente en pascal y por lo tanto funciona en todas las plataformas sin ninguna instalación adicional.
99103- Tienes el control total, sobre que archivos/URLs se abren.
100104- No dispone de todas las características de un navegador web completo. No hay multimedia, javascript o flash. Si lo quieres tienes que implementarlo tú.
101105
102106   Hay algunos ejemplos en lazarus/components/turbopower_ipro/examples que demuestran cómo abrir un archivo HTML local con algunas imágenes, hipervínculos y botones de historial.
103107
104108## QT Webkit
105109
106110   Si utilizamos **Qt WidgetSet**, hacemos uso de **Qt WebKit** para embeber el navegador en un formulario LCL.
107111
108112   [*Lazarus LCL/Qt WebKit Demo*](http://users.telenet.be/Jan.Van.hijfte/qtforfpc/lclwebkit.zip) disponible en [**Free Pascal Qt4 Binding**](http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html)
109113
110114## THtmlPort
111115
112116   [[THtmlPort]] es una versión Lazarus/Free Pascal del componente HTML de Dave Baldwin, incluye ***THtmlViewer***, ***TFrameViewer**'' y***TFrameBrowser**''.
113117
114118## GeckoPort (v2)
115119
116120   [[GeckoPort version2|GeckoPort]] es una versión Lazarus/Free Pascal del SDK Gecko para Delphi de Takanori It, incluye el componente ***TGeckoBrowser***.
117121
118122# Ver también
119123
120124- [[Executing External Programs/es|Ejecutar programas externos]]
121125
122126---
123127*From the Free Pascal wiki, page "Webbrowser/es", 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