我想在按钮上创建一个超链接。如果单击该按钮,则默认浏览器将打开该链接。我尝试使用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
答案 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;