Lazarus中文社区

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

QQ登录

只需一步,快速开始

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

如何实现label上面的网址可以打开

[复制链接]

该用户从未签到

发表于 2011-5-30 09:27:16 | 显示全部楼层 |阅读模式
我想在程序运行后,label上面的那个网址,鼠标双击可以打开,在windows下面,uses  shellapi,然后shellexecute 就可以了,可是在linux下面无法引用shellapi,请问大家一般都是怎样实现这个的
回复

使用道具 举报

该用户从未签到

发表于 2011-5-30 11:30:30 | 显示全部楼层
现在手头没有linux,没办法验证:
http://hi.baidu.com/bazhaohua/bl ... 1b3e319a502766.html
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-5-30 13:13:20 | 显示全部楼层

回 楼主(zaciig) 的帖子

unit my_pub_functions;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils,LazHelpHTML,UTF8Process;
var
  s____:string;
resourcestring
  a____='t';
// Open url use default web browser
procedure OpenUrl(url1:String);
implementation
procedure OpenUrl(url1:String);
var
  v: THTMLBrowserHelpViewer;
  BrowserPath, BrowserParams: string;
  p: LongInt;
  URL: String;
  BrowserProcess: TProcessUTF8;

begin
  v:=THTMLBrowserHelpViewer.Create(nil);
  try
    v.FindDefaultBrowser(BrowserPath,BrowserParams); //此句会找到系统的默认浏览器,然后打开网址【支持windows及linux】


    URL:=url1;
    p:=System.Pos('%s', BrowserParams);
    System.Delete(BrowserParams,p,2);
    System.Insert(URL,BrowserParams,p);


    BrowserProcess:=TProcessUTF8.Create(nil);
    try
      BrowserProcess.CommandLine:=BrowserPath+' '+BrowserParams;
      BrowserProcess.Execute;
    finally
      BrowserProcess.Free;
    end;
  finally
    v.Free;
  end;

end;


end.
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-5-30 13:14:47 | 显示全部楼层
然后这样调用
use my_pub_functions;
procedure TfrmAbout.Label2DblClick(Sender: TObject);
begin
    my_pub_functions.OpenUrl(self.Label2.Caption);

end;
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-5-30 14:27:59 | 显示全部楼层

回 1楼(reinhardcao) 的帖子

程序里面如何实现  启动终端呀
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-5-30 14:31:37 | 显示全部楼层

回 3楼(jiang__30) 的帖子

这个貌似有点意思
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

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

GMT+8, 2025-5-2 21:20 , Processed in 0.067711 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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