var i:integer;
procedure TForm1.Button2Click(Sender: TObject);
begin
i:=0;
while i <=listbox1.Items.Count -1 do
begin
if (pos('http://hi.baidu.com/',listbox2.Items.Strings[i]) > 0 )and (pos('/0',listbox2.Items.Strings[i])> 0 )   then
listbox1.Items.Add(listbox2.Items.Strings[i]);
inc(i);
end;
showmessage('采集完成');
end; listbox1 和 listbox2 
比较Listbox1中的内容 符合条件就放到listbox2中
条件是pos('http://hi.baidu.com/',listbox2.Items.Strings[i]) > 0 )and (pos('/0',listbox2.Items.Strings[i])> 0 )我用 while do 总是出错 错误提示好像是 i超出了listbox1的总数  
求解 如何修正?

解决方案 »

  1.   

    开始的时候,listbox2的行数与listbox1的行数一样吗?while i <=listbox1.Items.Count -1 do 
    改为
    while i <=listbox2.Items.Count -1 do 
      

  2.   

    listbox2.Items.Strings[i]
    我一般都是
    listbox2.Items[i] 
      

  3.   

    listbox1和listbox2得条目不一致吧?
    判断前面加上 listbox2.Items.Count -  < i
    if (listbox2.Items.Count -  < i) and (pos('http://hi.baidu.com/',listbox2.Items.Strings[i]) > 0 )and (pos('/0',listbox2.Items.Strings[i])> 0 )  then 
      

  4.   

    if (listbox2.Items.Count - 1 < i) and (pos('http://hi.baidu.com/',listbox2.Items.Strings[i]) > 0 )and (pos('/0',listbox2.Items.Strings[i])> 0 )  then 
      

  5.   

    if (listbox2.Items.Count -  <= i) and (pos('http://hi.baidu.com/',listbox2.Items.Strings[i]) > 0 )and (pos('/0',listbox2.Items.Strings[i])> 0 )  then 
      

  6.   


    listbox1 和 listbox2的 行数一样是什么意思?
      

  7.   

    问题已解决 换了个 memo1+ listbox1