Cześć wszystkim.
Mam taki problem: muszę pokolorować RichEdit po słowach kluczowych i między znakami specjalnymi w taki sposób że np słowo wpisane między znakami ' powinno podświetlać się na zielono..., wiem jak zrobić kolorowanie po słowach kluczowych, wiem jak zrobić kolorowanie pomiędzy dwoma znakami np: < i > ale jak zrobić kolorowanie pomiędzy dwoma takimi samymi znakami ? (SYNEDIT odpada bo mam D 2006)

Mam taki kod:

function TmainForm.PozycjaToDlugosc(p:Tpoint): Integer;
var i:Integer;
begin
  result:=1;
  for i:=0 to p.Y-1 do
    result:=result+Length(RichEdit.Lines[i])+2;
  result:=result+p.x;
end;

procedure TmainForm.RichEditch(Keys: Char);
var x:Integer; s:char;
begin
  x:=PozycjaToDlugosc(RichEdit.CaretPos);
  If StartS>x then StartS:=StartS+1;
  //s:= #39;
  if Stop = false then
  If Keys= '"' then
  Begin
      StartS:=x;
      Stop := false;
  end;
  If Stop = true then
  If (Keys='"') and (x>StartS) and (RichEdit.Text[StartS]='"' ) then
  begin
    RichEdit.SelStart:=StartS;
    RichEdit.SelLength:=x-StartS-1;
    RichEdit.SelAttributes.Color:=clRed;
    RichEdit.SelStart:=x;
    RichEdit.SelLength:=0;
    RichEdit.SelAttributes.Color:=clBlack;
    //StartS := StartS + 1;
  end;
  Stop := true;
end;

Generalnie ten kod działa tylko w jednym tagu, kiedy napiszę jeszcze raz słowo między znakami " " to podświetla mi się od poprzedniego tag-u aż do obecnego...