如何在拉撒路制作链接按钮?

时间:2016-12-19 09:06:36

标签: pascal lazarus freepascal

我想在按钮上创建一个超链接。如果单击该按钮,则默认浏览器将打开该链接。我尝试使用Delphi版本,但它在Lazarus中不起作用。这是我试过的代码。我如何在Lazarus版本中制作它?

case class Line(number: Int, value: String)


Enumerator.fromUTF8File(file) &>
Enumeratee.splitToLines ><>
Enumeratee.zipWithIndex ><> Enumeratee.map{
  case (e, idx) => Line(idx, e)
} // then an Iteratee or another Enumeratee

2 个答案:

答案 0 :(得分:1)

ShellExecute是我从未真正使用过的东西,因为我总是尝试让我的程序跨平台。我总是使用TProcess或RunCommand。在下面的链接中有完整的文档,这非常好。

http://wiki.freepascal.org/Executing_External_Programs

如果你真的想使用ShellExecute,那么我注意到它在链接中说明了关于初始化COM的以下内容:

ShellExecute是一个标准的MS Windows函数(ShellApi.h),在MSDN上有很好的文档(如果发现函数不可靠,请注意他们关于初始化COM的评论)。

我希望这会有所帮助。如果没有,我会尽力帮助你。

答案 1 :(得分:1)

OpenURL功能提供了最简单的跨平台兼容的方式来打开链接。它可以在 LCLIntf 单元中找到,它与Lazarus捆绑在一起。

示例:

procedure OnClick;
var
  found: boolean;
begin
  found := OpenURL('http://nowhere.loopback.edu');
end;