Witojcie ponownie :P
Mam sobie Memo i jak teraz zrobic takie cos.
Memo ma mieć ograniczone tylko 200 znaków ( tzn. że można wpisać tylko 200 znaków ). I jak wpisuje tekst to na Labelu ma mi sie pokazywac sie znaków zostało do końca.
Pozdrawiam i licze na pomoc!
Memo1.MaxLength:=200;
niestety, naciśnięcie Enter liczy za dwa znaki :((
W OnChange Memo:
Label1.Caption:=IntTostr(Memo1.MaxLength-Length(Memo1.Text));--Pawel
Delphi6
Niewiem jak ale moim zdaniem mozna by w procedurze OnChange liczyc ile
enterów zostalo wcisnietych i za kazdy dodawac +1 do zakresu znakow...
Niewiem czy to dobry pomysl ale nic innego mi do glowy nie wpadlo...niestety nie weim jak liczyc znaki w komponecie Memo :(--Ozyrys Pozdrawiam {hello}
Delphi 6
ozyrys, albo ty nie zrozumiales mnie, albo ja ciebie :-) --Pawel
Delphi6
pq napisał:
ozyrys, albo ty nie zrozumiales mnie, albo ja ciebie :-)
Moze napisalem to troche nie zrozumiale albo....nie zrozumialem cie :)
Napisales ze enter liczy za 2 znaki , wiec jezeli procedura liczyla by ile enterow znajduje sie na Memo i za kazdy enter dodawala by do Maxymalnego zakresu +1 to wyszlo by na rowno np.
(powiedzmy ze zakres = 5)
wiec moge wstawic xxx ale miejsc na 2 entery mi nie starczy
ale jezeli procedura doda +2 (za kazdy enter +1) do zakresu to
zmiesci sie i xxx i 2 entery... (bo zakres 5 +2 =7)
Za kazydy enter +1 a jezeli postawiiony juz enter zostanie skasowany to zosatnie i odjeta ta dodatkowa watrtosc. Jeszcze trzeba by zmodyfikikowac procedure wyswitlajaca liczby na Lebel'u....ale to juz inna historia ;)
Tylko problem polega na tym ze nie mam pojecia jak liczy sie znaki...
PS. Jezeli to ja ciebie nie zrozumilem to sorki...--Ozyrys Pozdrawiam {hello}
Delphi 6
Nie zrozumialem, ze chodzi Ci o maksymalny zakres. W ogole podoba mi sie Twoj pomysl. Entery w Memo.Text da sie policzyc, to nie jest duzy problem. Mozna by tez procedure wrzucic nie w OnChange tylko w onKeyPress i reagowac na Entery. Problem tylko z tym, ze trzebaby tez reagowac na Backspace i Delete i spawdzac, czy akurat nie usuwaja jakiegos Entera. No i jeszcze na wszystkie inne znaki sprawdzajac, czy nie sa one wstawiane zastepujac (zawierajacy Entery) tekst zaznaczony mysza... Nie, chyba liczenie Enterow po kazdym OnCghange jest sensowniejsze.
Pozdrawiam,
Pawel--Pawel
Delphi6
pq napisał:
...chyba liczenie Enterow po kazdym OnCghange jest sensowniejsze.
Zgadzam sie bo w tedy procedura wygladala by tak :
procedure TForm1.Memo1Change(Sender: TObject);
var
I : Integer;
begin
I := //liczba enterow w memo
Memo1.MaxLength := 200 + I;
end;
Jeszcze gdzies tu trzeba wcisnac liczenie enterow w memo...ale to pozostawiem tobie :)--Ozyrys Pozdrawiam {hello}
Delphi 6