不好意思各位。因为刚下班所以赶紧回来看一下贴发现有这么多热心的朋友真的很感谢。下面是小弟程序中的错误的函数块。现在贴出来帮忙看看该如何解决这样的问题
function RegexaAllA100(memostr,Rextop:string;RextopI:Integer;Rexup:string; RexupI:Integer;Listview:TListView;listbox:string;CountI:Integer):string;//返回seo内容中的地址
var //如: RegexaAlla(内容,头部, 进或退值, 尾部 进或退值 listview 条数 )
i,e:Integer;
url,Surl:string;
begin
for i:=0 to CountI do //有时循环一百次。有时十次。有时三十次。看得到的内容
begin
Delete(memostr,1,Pos(Rextop,memostr)+RextopI+length(Rexup)+RexupI);
Surl:=Copy(memostr,1,Pos(Rexup,memostr)-1);
Delete(Surl,Pos('?',Surl),100);
e:=pos('http://',Surl); //下面是得到地址 而listviewcaption和ListviewCaptiona是一个全局变量
if (e>=1) and (e<20) and (Pos(Hostdz(Surl,2),ListviewCaption+ListviewCaptiona)<1)
and (BoxCheckurl(Surl,listbox))then
begin
try //不知道为什么在url赋值时出错。有时出错有时不出错。很难捕捉
url:=url+surl+#13#10; //还会自动判断有没有重复值 有时这里会出现Access violation at address
except
//错误后处理的函数位置
end;
surl:=Hostdz(Surl,2);
try //将得到的地址http://www.分割成 然后赋给全局变量ListviewCaptiona 经常出现下面的错误
ListviewCaptiona:=ListviewCaptiona+surl+'|'; //将以前搜索过的值储存起来。 有时这里会出现Access violation at address
except
//错误后处理的函数位置
end;
end;
end;
result:=url;
end;