菜鸟问题:怎么自动打开IE(100分)

  • 主题发起人 主题发起人 很俗
  • 开始时间 开始时间

很俗

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟我做一小软件 将一个HTML文件里的超链接 提取出来 用ListBox组件显示出来 显示的为超链接的文字标题 我现在想请教各位大哥 怎么定义双击事件
使我双击文字标题 能自动打开IE 并连接到 此文字标题所对应的超链接的地址上 文字标题 数组变量为t[n-1] 超链接地址数组变量为s[n-1] 最好有源
代码 请大家多多帮忙~ 小弟先谢谢了
 
uses Comobj, ... ... ;
{...}
var
Form1: TForm1;
IEApp: Variant;

{...}
procedure TForm1.Button1Click(Sender: TObject);
begin
IEApp := CreateOLEObject('InternetExplorer.Application');
IEApp.visible := true;
IEApp.Top := 0;
IEApp.Left := 0;
IEApp.width := screen.width;
IEApp.height := screen.height;
IEApp.Navigate('http://www.delphibbs.com');
end;

IE的其它的控制:
IEApp.GoForward ;
IEApp.GoBack ;
IEApp.GoHome ;
IEApp.Refresh ;
IEApp.Stop ;
IEApp.GoHome ;
IEApp.FullScreen := true;
IEApp.StatusText := 'My Status Text';
IEApp.Path := Show Path to IE
IEApp.FullName := Full Path to IE
IEApp.LocationURL := Get active Url
 
最好能用 ShellExecute 调用
 
procedur form1.ListBoxDBClick(sender:TObject);
var
url: string;
begin
url := Listbox1.Items[Listbox1.itemindex];
ShellExecute(0,'explore', nil,PChar(url), nil, SW_SHOW);
end;
 
ShellExecute(Application.Handle,Nil,'http://www.delphibbs.com',Nil,Nil,SW_NORMAL);
 
我的Listbox1 只显示的是标题 也就是数组t[n-1]内容
我要的是双击标题的时候 自动连接到 超链接地址 的网站上 地址是在数组s[n-1]
两个数组的数据是一一对应的 也就是说 一个标题 对应一个地址
 
ListBox1.Clear;
for i:=0 to n do
ListBox1.Items.Add(t[n-1]);

procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
UrlIdx: Integer;
begin
if (Button=mbLeft) and (ssDouble in Shift) then
begin
UrlIdx:=ListBox1.ItemAtPos(Point(X,Y),True);
if UrlIdx<>-1 then
ShellExecute(Application.Handle,Nil,PChar(s[UrlIdx]),Nil,Nil,SW_NORMAL);
end;
end;
 
pihome 能加我QQ吗 85664934
 
procedure TForm1.Button2Click(Sender: TObject);
var
i,j,k,n,m:integer;

tmp:string;
tmpt:string;
tmps:string;
begin
Listbox1.Clear;
tmp:=test;
setlength(s,100);
setlength(t,100);
n:=0;
k:=pos('href',tmp);
while(k<>0) do
begin
delete(tmp,1,k+5);
m:=pos('>',tmp);
tmps:=copy(tmp,1,m-2);
s[n]:=tmps;
j:=pos('</a>',tmp);
tmpt:=copy(tmp,1,j-1);

i:=pos('>',tmpt);
delete(tmpt,1,i);

t[n]:=tmpt;
inc(n);
delete(tmp,1,j+1);
k:=pos('href',tmp);

form1.ListBox1.Items.Add(t[n-1]);

end;
cnt:=n;

end;

上面是我怎么分析出超链接和标题的
我现在是想双击标题 能连到链接上
 
呵呵,用ShellExecute吧
 
用LISTBOX1保存标题,用LISTBOX2保存URL,LISTBOX2的VISIBLE=FALSE,双击标题事件中首先获得LISTBOX1的ITEM的INDEX值,再用LISTBOX1的INDEX值得到LISTBOX2中对应的URL,最后用SHELLEXECUTE调用
 
多人接受答案了。
 
后退
顶部