MaskEdit i warunek do niego

0

Witam!
Albo ja nie myślę już, albo nie wiem co, bo męczę się nad napisaniem warunku do MaskEdita z ustawioną maską. Mam ustawioną maskę [____--] czyli np. [2005-02-14] no i pod nim jest button aby szukał tą datę w MonthCalndar, ale to nie jest ważne w tym momencie.

Chodzi mi o napisanie warunku, że IF MaskEdit nie będzie do końca wypełniony, czyli te wszystkie puste pola THEN button1.enabled:=false ELSE button1.enabled:=true;

Czyli dopiero jak wpiszemy rok, miesiąc i dzień (8 miejsc) to dopiero sie uaktywnia button a jak jest poniżej 8 miejsc wpisanych np. 2004-02-1_ to przycisk jest nieaktywny. Próbowałem już z length (MaskEdit1.text)=8 itd. ale nie chce działać:(

POMOŻECIE? Dzięki wielkie!!!:)

0

Pisze z pamieci wiec nie jestem pewny na 100% ale to moze byc tak ze sprawdzisz po prostu dlugosc textu:

if Length(MaskEdit.Text)=8 then
begin
//cos tam co chcesz
end;

Nie jestem pewny czy on liczy tez te " - " wiec jesli by liczyl to zwieksz liczbe do 10. [browar]

Choc w sumie teraz tak mysle ze po prostu mozesz sprawdzic tekst jaki sie znajduje w maskedicie. Jedziesz pierwsze 4, zamieniasz na liczbe jesli bedzie odpowiednia to ok jesli nie to wiesz co. I tak ze wszystkimi polami.

0

albo spróbuj rzutować stringa na TDateTime i jak będzie wywołany wyjątek to znaczy, że coś jest nie tak

0

Proponuję onChange dla MaskEdita wstawić taki kod:

Button1.Enabled := Pos('_', MaskEdit.Text) = 0;
0

Sheitar raczej mi to nie działa :( Button dalej jest aktywny jak nic nie jest wpisane do MaskEdita. Nawet jak ustawiłem we właściwościach Enabled = false od buttona to jak wpiszę pierwszy znak do MaskEdita to już się button uaktywnia.:(

0
 Button1.Enabled:=Pos(' ',MaskEdit1.Text)<1;
0

OK działa. DZX.

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