Tu Ti dám hotové riešenie ako to funguje mne... vyhľadá všetky výskyty textu a vyfarbí ich červenou farbou.
Text, ktorý sa má vyhľadať zadávaš do TEdit - netreba rozlišovať veľké a malé písmená - hľadá sa každý výskyt.
V prípade potreby si uprav TSearchType = (stWholeWord, stMatchCase) v metode FindText. Napr.
FoundAt := FindText(edit1.Text, StartPos, ToEnd, [stMatchCase]);
procedure TForm7.Button1Click(Sender: TObject);
var
FoundAt: LongInt;
StartPos, ToEnd: Integer;
begin
with RichEdit1 do
begin
StartPos := 0;
ToEnd := Length(Text) - StartPos;
FoundAt := FindText(edit1.Text, StartPos, ToEnd, []);
while FoundAt <> -1 do
begin
SetFocus;
SelStart := FoundAt;
SelLength := Length(edit1.Text);
SelAttributes.Color := clRed;
StartPos := SelStart + SelLength;
ToEnd := Length(Text) - StartPos;
FoundAt := FindText(edit1.Text, StartPos, ToEnd, []);
end;
SelStart := 0; // skok na začiatok
Sellength := 0;
end;
end;