[Delphi] Błąd w pętli

[Delphi] Błąd w pętli
arhi
  • Rejestracja:prawie 21 lat
  • Ostatnio:ponad 17 lat
  • Postów:70
0

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

Kopiuj
 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!!


I am the Angel of Death... Come with me...
0

Rozpoczynaj zaznaczanie od znaku i-1

Kopiuj
richedit1.SelStart:=i-1;
Greg_
  • Rejestracja:około 20 lat
  • Ostatnio:ponad 18 lat
0

albo

Kopiuj
for i:=0 to m-1 do

<span style="color: gray"><font size="1">
I get all...numb
When she sings it's over
Such a strange numb
And it brings my knees to the earth</span></span>
arhi
  • Rejestracja:prawie 21 lat
  • Ostatnio:ponad 17 lat
  • Postów:70
0

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


I am the Angel of Death... Come with me...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.