So hab ejetzt eine PosEx Funktion gefunden:
Delphi-Quellcode:
function FindWord(StartPos: Cardinal; const Text, Word: string): Cardinal;
begin
result := PosEx(AnsiUppercase(Word), AnsiUpperCase(Text), StartPos)-1;
end;
function MarkWords(RichEdit: TRichEdit; Words: TStrings; FontStyle: TFontStyles;
Color: TColor): Cardinal;
var
i: Integer;
LastWordPos: Integer;
begin
LastWordPos := 0;
for i := 0 to Words.Count - 1 do
begin
while LastWordPos <> 0 do
begin
LastWordPos := FindWord(LastWordPos, RichEdit.Text, Words[i]);
RichEdit.SelStart := LastWordPos;
RichEdit.SelLength := length(Words[i]);
RichEdit.SelAttributes.Color := Color;
RichEdit.SelAttributes.Style := FontStyle;
LastWordPos := LastWordPos+1;
end;
LastWordPos := 0;
end;
RichEdit.SelStart := 0;
result := 0;
end;
Nur markiert er mir jetzt kein Wort.