...search for text in a RichEdit and select it?

Author: Simon Grossenbacher
Homepage: http://www.swissdelphicenter.ch

Category: VCL

function SearchForText_AndSelect(RichEdit: TRichEdit; SearchText: string): Boolean;
var
  
StartPos, Position, Endpos: Integer;
begin
  
StartPos := 0;
  with RichEdit do
  begin
    
Endpos := Length(RichEdit.Text);
    Lines.BeginUpdate;
    while FindText(SearchText, StartPos, Endpos, [stMatchCase])<>-1 do
    begin
      
Endpos   := Length(RichEdit.Text) - startpos;
      Position := FindText(SearchText, StartPos, Endpos, [stMatchCase]);
      Inc(StartPos, Length(SearchText));
      SetFocus;
      SelStart  := Position;
      SelLength := Length(SearchText);
    end;
    Lines.EndUpdate;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  
SearchForText_AndSelect(RichEdit1, 'Some Text');
end;

 

printed from
www.swissdelphicenter.ch
developers knowledge base