procedure TForm1.Button1Click(Sender: TObject)
procedure _HighLightText(AStr: string)
var
nPos, nStrLength, nAllLength: Integer
begin
nPos := 0
nAllLength := RichEdit2.GetTextLen
nStrLength := Length(AStr)
nPos := RichEdit2.FindText(AStr, nPos, nAllLength, [stMatchCase])
while nPos > -1 do //如果只想高亮第一个就不用循环
begin
RichEdit2.SelStart := nPos
RichEdit2.SelLength := nStrLength
RichEdit2.SelAttributes.Color := clRed
nPos := nPos + nStrLength
nPos := RichEdit2.FindText(AStr, nPos, nAllLength, [stMatchCase])
end
end
var
nStr: string
i: Integer
begin
RichEdit2.SelectAll
RichEdit2.SelAttributes := RichEdit2.DefAttributes
with TStringList.Create do
try
StrictDelimiter := True
Delimiter := ' '
DelimitedText := RichEdit1.Text
for i := 0 to Count - 1 do
begin
nStr := Strings[i].Trim
if nStr <> '' then
_HighLightText(nStr)
end
finally
Free
end
end