n := pos('aaa', RichEdit1.Lines.Text); if n > RichEdit1.SelStart then n := 0; showmessage(IntToStr(n));
procedure TForm1.Button1Click(Sender: TObject); var n,i,start:integer; s:string; begin s:='abc'; n:=length(s); start:=RichEdit1.SelStart; while start>n do begin RichEdit1.SelStart:=start-n; RichEdit1.SelLength:=n; if RichEdit1.SelText=s then begin RichEdit1.SetFocus; Exit; end; start:=start-1; end; ShowMessage('没找到'); end;
if n > RichEdit1.SelStart then n := 0;
showmessage(IntToStr(n));
var n,i,start:integer;
s:string;
begin
s:='abc';
n:=length(s);
start:=RichEdit1.SelStart;
while start>n do
begin
RichEdit1.SelStart:=start-n;
RichEdit1.SelLength:=n;
if RichEdit1.SelText=s then
begin
RichEdit1.SetFocus;
Exit;
end;
start:=start-1;
end;
ShowMessage('没找到');
end;
memo1(richedit)的selstart是指定一个开始点。
sellength指定从开始点有多少字符被选去。
setfocus将光标移动到选取字符的最后一个。
如果不这样用,光标就会消失,当有scorbar的
时候scorbar也不会移动。