ďťż

Ładny brzuch

Witam
Potrzebuję w delphi zrobić takie coś, że mam np. ustalony limit 100 znaków w Memo1. Gdy ktoś go przekroczy, to wyświetla mu się wiadomość "za dużo znaków" i czyści się komponent Memo1. Próbowałem robić takie coś i:
procedure TForm1.Memo1Change(Sender: TObject); var ile : integer; maxznakow : integer; begin maxznakow:=100; ile := maxznakow - length(Memo1.Lines.Text); if ile<=0 then begin ShowMessage('Za dużo znaków'); Memo1.Clear; end; end;
Wszystko działa, tylko, że ten kod mi wykonuje za każdym razem gdy dodam jakąś literkę (czyli np. kliknę OK i nadal mogę wpisać ;]). Próbowałem zmienić linijkę:
if ile=1 then ShowMessage('Za dużo znaków');
I tu by było wszystko ok :P. Poza tym, że jeśli ktoś wklei tekst powyżej 102 znaków to mi nie wyświetli żadnego komunikatu... Dawałem także "if ile=0", jednak to w ogóle nie działa... ;]
Co napisać, żeby było dobrze? :P. Chcę, aby po 100 znakach program coś zrobił (wyświetlił ShowMessage) i wyczyścił Memo1. Tylko jak to napisać w Delphi? :)



Memo1.ReadOnly:= True - blokuje
ale wtedy też się nie da skasować.

Możesz to wszystko dać w onKey i wtedy
Key:= 0;

nic nie będzie wpisywać

A nie lepiej do tego dać
if length(Memo1.Lines.Text) > 100 then
bez dodatkowych zmiennych ;]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •