現在是比如我在RichEdit1中輸入下麵這段文字
1234
1234
12345
Eidt1中輸入3,按下button,可以達到搜索功能. 在Delphi7下編譯之後使用沒有問題.每一行都能選中3
可是在Delphi2010中按下button之後,第一行可以選中3,但是到了第二行就選中的是4,第三行選中的是5,以此類推.
請幫忙看看,代碼如下procedure TForm1.Button1Click(Sender: TObject);
Var
s,Source:AnsiString;
i,n,StartPos:Integer;
begin
 s:= Edit1.Text;
 i:= Length(s); If i > 0 Then
 begin
 with RichEdit1 do
 begin
 Source:= Text;
 StartPos:=SelStart+SelLength;
 delete(Source,1,StartPos);   n:= pos(LowerCase(s),LowerCase(Source));
   if n > 0 Then
   Begin
   SelStart:= StartPos+n-1;
   SelLength:= i;
   SetFocus;
   SendMessage(self.RichEdit1.Handle,EM_SCROLLCARET,0,0);
   End Else
   Showmessage('Find has been finished,have no found <'+s+'>');
 end;
end else
   Begin
   Showmessage('Must input search words !');
   Edit1.SetFocus;
   Edit1.Clear;
end;
End;