RichEdit i zmiany w tekście [wykrycie zmiany]

0

Witam

Tak jak tytuł postu sam wskazuje mam problem z wykryciem zmian w tekście w komponencie RichEdit. Piszę tu ponieważ już wszystko co próbowałem zrobić zawiodło. Starałem się sprawdzić czy tekst został zmieniony poprzez OnChange, jednak już po kliknięciu na ten komponent zwracał wartość mówiącą o tym, że tekst został zmieniony. Próbowałem także poprzez kopiowanie ostatnich 10 liter. Rozwiązania także złe bo jak zmieniłem coś w środku linii to nie wywalał zmiany. Postanowiłem więc skorzystać z wartości jaką daje RichEdit.Modified co także nie wypaliło ponieważ już po wczytaniu daje wartość True.

Tak więc proszę o pomoc - jak wykryć zmianę w tekście (włączjąc w to także zmianę koloru).

Sorry, że taki długi ten post, ale chciałem opisać czego już próbowałem.

Dzięki z góry za wszelką pomoc [soczek]

0

Cześć

Samo wczytnie pliku powoduje ustawienie RichEdit1.Modified na True
więc po wykryciu zmiany musisz zawsze ustawić RichEdit1.Modified na False
Wczytujesz plik i tam w procedurze wczytywania po wczytaniu pliku ustawiasz
RichEdit1.Modified:= False;

A w procedurze onChange dla przykładu:

procedure TForm1.RichEdit1Change(Sender: TObject);
begin
 if RichEdit1.Modified then
 begin
  ShowMessage('nastąpiła zmiana');
  RichEdit1.Modified:= False;
 end;
end;
0

Hmm .. - jeśli jest tak jak mówisz, że RichEdit reaguje na samo kliknięcie myszką na kontrolkę to rzeczywiście lipa. Polecam tu komponent SynEdit - obsługuje on 2 zdarzenia: OnChange i OnStatusChange. Być może to rozwiąże Twój problem.

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