posreturn:=pos(finddialog1.FindText,memo1.Lines[i]);
  if posreturn<>0 then
  begin
    skipchars:=0;
    for j := 0 to i - 1 do
-------------------------------------------------------下面3行的作用是啥 ?我在看查找的例子里遇到的 谢谢。
     skipchars:=skipchars+length(memo1.Lines[j]);
     skipchars:=skipchars+(i*2);
     skipchars:=skipchars+posreturn-1;----------------------------------------------------------
indy9
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: Tstream; 
  ABinding: TIdSocketHandle);  这里不知道怎么出现 ? 
indy10
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: tbytes; 
  ABinding: TIdSocketHandle);---这个是我加了idudpsever控件后双击onudpread出现的。

解决方案 »

  1.   

    Indy9和Indy10是不一样的,不兼容。别混淆了。
      

  2.   

    -------------------------------------------------------下面3行的作用是啥 ?我在看查找的例子里遇到的 谢谢。 
         skipchars:=skipchars+length(memo1.Lines[j]); 
         skipchars:=skipchars+(i*2); 
         skipchars:=skipchars+posreturn-1; 
    呵呵 是这个问题
      

  3.   

    for j := 0 to i - 1 do 
      skipchars:=skipchars+length(memo1.Lines[j]);//第i行前面所有行的字符数量
    skipchars:=skipchars+posreturn-1; //第i行finddialog1.FindText前面的所有字符数量
    skipchars:=skipchars+(i*2); //不知道干嘛用的
      

  4.   


    取得从第一行开始到pos到那个字段前一个字符的所有文字长度
      

  5.   

    skipchars:=skipchars+(i*2); //不知道干嘛用的