Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 2200|回复: 0

Lazarus中web浏览相关内容

[复制链接]

该用户从未签到

发表于 2012-9-5 09:30:43 | 显示全部楼层 |阅读模式
这里我们介绍一些关于在一个Pascal程序窗体中显示或者通过调用浏览器来显示网页的组件。


通过浏览器打开一个页面显示



OpenURL

OpenURL是最简单的一个方法,通过一个方法检查默认浏览器,然后通过传递参数来打开它。在窗体中可以是'mailto:aname@anaddress?subject=:::a subject',或者是一个网站地址"http://"或者"https://"
uses LCLIntf; ... OpenURL('http://www.lazarus.freepascal.org');查找默认浏览器
在每个平台上面都有它不同的默认浏览器,在LCL unit lazhelphtml中保函了一个THTMLBrowserHelpViewer来启动一个浏览器来查看LCL帮助系统。你可以使用他的FindDefaultBrowser方法来查找默认浏览器,然后传递参数来启动他,例如:

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([&#39ath=',BrowserPath,' Params=',BrowserParams]);
  v.Free;
end;
给出的例子,在Linux中:
Browser=/usr/bin/xdg-open Params=%s
在Windows中你可以获取:
Browser=C:\windows\system32\rundll32.exe Params=url.dll,FileProtocolHandler %s


打开一个浏览器


你可以使用TProcessUTF8通过命令行来启动一个浏览器:

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([&#39ath=',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;


内嵌浏览器组件到程序




使用Turbopower互联网控件

lazarus提供一个TurboPowerIPro包(lazarus/components/turbopower_ipro/turbopoweripro.lpk)保函下面功能:

    [li]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.[/li][li]It is written completely in Pascal and therefore works on all platforms out of the box without any extra installation.[/li][li]You have the full control, what files/urls are opened.[/li][li]It does not have all the features of a full webbrowser. No multimedia stuff, javascript or flash. This must be implemented by you.[/li]
同样里面保函一个查看html中保函图像和链接的例子



QT webkit

使用QT WidgetSet,你可以使用QT WidgetSet插入到LCL Form中,可以查看这里获取详细信息:http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html



THtmlPort

THtmlPort is a Lazarus/Free Pascal version of Dave Baldwin's HTML Components, including THtmlViewer, TFrameViewer and TFrameBrowser.


GeckoPort

GeckoPort是一个为Lazarus/Free Pascal开发Takanori Ito's Gecko SDK的delphi版本, 保函TGeckoBrowse组件.
CIT信息网原创翻译
回复

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-2 21:16 , Processed in 0.029202 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表