[Delphi] Błąd w pętli

0

Siemka! Mam taki problem z pętlą, która wygląda tak:

 if length(richedit1.Text) >= length(richedit2.Text) then
    m:=length(richedit1.Text)
    else
    m:=length(richedit2.Text);

    for i:=1 to m do
     if richedit1.Text[i] <> richedit2.Text[i] then
     begin
      richedit1.SelStart:=i;
      richedit1.SelLength:=1;
      richedit2.SelStart:=i;
      richedit2.SelLength:=1;
      richedit1.SelAttributes.Color:=clRed;
      richedit2.SelAttributes.Color:=clRed;
     end;

A więc chodzi o to że powinna zaznaczać znaki nie znajdujące się na tym samym miejscu w dwóch richeditach. A nie wszystko zawsze zaznacza tak jak trzeba. Czasami tylko część różniących się znaków zaznacza, a część pomija. Czy nie wiecie przypadkiem gdzie tu jest błąd?? Z góry dzięki!!

0

Rozpoczynaj zaznaczanie od znaku i-1

richedit1.SelStart:=i-1;
0

albo

for i:=0 to m-1 do
0

Dzięki działa, hes właśnie dzięki twojej poprawce :). Ale Greg_ też dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1