Tratar Data
02/03/2006
0
Boa tarde.
Possuo um campo do tipo TMaskEdit, que possui a mascara: !99/99/9999;1;_
A pergunta é...
como tratar esta campo para não ser inserido datas inválidas e menores do que a data atual?
obrigado amigos!
Fernando_ramos
Posts
03/03/2006
Paullsoftware
try
if MskData.Text < Date then
begin
ShowMessage(´A Data não pode ser inferior a Atual!´);
MskData.Setfocus;
MskData.Clear;
Exit;
end
else
begin
// comandos se a data for verdadeira
end
Except
on msg: Exception do
begin
showMessage(´A Data informada não é uma data válida!´);
end;
03/03/2006
Fernando_ramos
Fiz assim:
na primeira linha estava apresentando erro por MskData.Text ser STRING diferente do tipo DATA!
então mudei...
ai percebi que ele não entra na excessão! tipo..se eu nao preencher nada deixar apenas ´ / / ´, o delphi mostra erro, dizendo que ´ / / ´ é uma data invalida!
se puder me ajudar!
03/03/2006
Marco Salles
Esta mensagem que o delphi esta lhe apresentando , se voce executar o programa usando o exe. ela não aparecera.. Esta mensagem é normal e mesmo que voce trate um eventual erro , ela sempre aparecera via projeto, salvo se voce desabilitar esta opção no ide do delphi..
:wink:
Tente ir no executavel , na pasta aonde ele esta gravado e execute o programa por lá.. Veja a diferença
Agora , se voce quiser , informar ao usuário , que a data esta em branco , ao inves de dizer que le não é uma data válida , ai ja é outra historia
04/03/2006
Fernando_ramos
realmente chamando pelo .exe funcionou numa boa!
Não sabia dessa.....vlw!!
Outra coisa...
Como eu poderia implementar, caso a data não fosse preenchida...(em branco).
abraços!
04/03/2006
Carlos Bernardo
realmente chamando pelo .exe funcionou numa boa!
Não sabia dessa.....vlw!!
Outra coisa...
Como eu poderia implementar, caso a data não fosse preenchida...(em branco).
abraços!
If mskdata.text <> ´ / / ´ then
07/03/2006
Sandercomputacao
Obrigado a Todos..
07/03/2006
Marco Salles
!99/99/9999;1;_ ou
!99/99/9999;0;_ ....
O Nove na mascara , significa digitaçao não obrigatoria.. Ja mascara contendo zero significa digitação obrigatoria..
O Final Um na mascara significa Salvar Literias(Que nesses caso é a Barra ´/´) e o final zero na mascara significa , que não salva os literias
fluiu :?: :?: :?:
07/03/2006
Sandercomputacao
!99/99/9999;1;_ ou
!99/99/9999;0;_ ....
O Nove na mascara , significa digitaçao não obrigatoria.. Ja mascara contendo zero significa digitação obrigatoria..
O Final Um na mascara significa Salvar Literias(Que nesses caso é a Barra ´/´) e o final zero na mascara significa , que não salva os literias
fluiu :?: :?: :?:[/quote:949ac3ed95]
Realmente deu certo Marcos..
Obrigado!