checar data no maskedit quando mês é 30 ou 31

Delphi

24/03/2004

como faço´para avisar que data é invalida?


Marbravo

Marbravo

Curtidas 0

Respostas

Paulo_amorim

Paulo_amorim

24/03/2004

como faço´para avisar que data é invalida?


Olá

Primeiro gostaria de dizre que usar um TDateTimePicker eh sempre aconselhável.

Mas se quiser validar a data do maskedit pode-se tentar assim (assumindo que a data esta no formato DD/MM/YY ) :

case StrToInt(Copy( maskedit1.Text, 4,2) ) of { testa o mes }
1,3,5,7,8,10,12: if StrToInt( Copy(maskedit1.text, 1, 2) > 31 then ERRO;
4,6,9,11: if StrToInt( Copy(maskedit1.text, 1, 2) > 30 then ERRO;
2: if StrToInt( Copy(maskedit1.text, 1, 2) > 28 then ERRO;


onde ERRO pode ser um ShowMessage, um BEEP, ou qq coisa do tipo
Claro que esse teste eh limitado, mas por ai vai...


GOSTEI 0
Lucas Silva

Lucas Silva

24/03/2004

ou tambem pode ser assim
try
 SrtToDate(edit1.text);
 except SHowMessage(´data inválida!´);
 end;



GOSTEI 0
Paulo_amorim

Paulo_amorim

24/03/2004

[quote:8d2743f8b9=´Lucas Alves Silva´]ou tambem pode ser assim
try
 SrtToDate(edit1.text);
 except SHowMessage(´data inválida!´);
 end;
[/quote:8d2743f8b9]

Olá
:oops: :oops: :oops:
Boa Lucas, limpo e claro...o meu ficou muito feio

Você sabe se ele vai aceitar o valor 29/02/2003?

Até+


GOSTEI 0
Lucas Silva

Lucas Silva

24/03/2004

Não aceita paulo...
Dá data inválida....


GOSTEI 0
POSTAR