Alle Wörter im Text?
Dann wird's noch einfacher. Dann lauft x ab 1. ggf. TRichEdit in der Übergabe ändern.
DeddyH, was daran jetzt kompliziert?
Delphi-Quellcode:
procedure DoColorWork (ARichEdit: TRichEdit; const S: string);
var
I, X, L: integer;
F: boolean;
begin
ARichEdit.Lines.BeginUpDate;
L:= Length(S);
X:= 1;
F:= true;
while F do
begin
X:= PosEx(S, ARichEdit.Text, X);
if X <> 0 then
begin
with ARichEdit do
begin
SelStart:= X-1;
SelLength:= L;
SelAttributes.Color:= clNavy;
SelAttributes.Style:= [fsBold];
SelAttributes.Name:= Font.Name;
SelAttributes.Size:= Font.Size;
end;
Inc(X, L);
end
else
F:= false;
end;
ARichEdit.SelLength:= 0;
ARichEdit.Lines.EndUpDate;
end;