Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Integer Overflow bei NextPos

  Alt 7. Aug 2004, 19:21
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat