Fórum Tratando o evento EDBEditError #371359

18/06/2009

0

Olá para todos!

Estou com um problema com uma mascara. Quando o usuário sai do
component [b:36433fe74f]MakEdit[/b:36433fe74f] sem preencher a mascara por completo,
o delphi lança uma exceção EDBEditError.
Por exemplo, há um MaskEdit para data (__/__/____), e o usuário preenche
o campo apenas do seguite formato: (01/01/200_). Quando o usuário sair
do componente ([b:36433fe74f]OnExi[/b:36433fe74f]t) a exceção é lançada.
Imagino que ficaria algo semelhante ao código abaixo:

try
   //código
 except on EDBEditErro do
   showMessage(´Mensagem´);
exit


Desde já obrigado!


Fabricio.ribeiro

Fabricio.ribeiro

Responder

Posts

18/06/2009

Catunda

fabricio.ribeiro,
não gosto de utilizar maskedit, prefiro utilizar um campo temporário do tipo Date mesmo. Acho mais facil de controlar atraves do evento OnSetText do campo.
Costumo configurar o DisplayFormat com dd/mm/yyyy
e o EditMask com #//;1;

procedure Form1.MyDataSetVctoSetText(Sender: TField;
const Text: String);
begin
try
if Trim(Text)=´/ /´ then Sender.Clear
else
Sender.AsString:=Text;
except
on e:econverterror do
begin
showmessage(´A Dada Digitada : ´+Text+´ Não Corresponde a Uma Data Válida´);
abort;
end;
end;
end;

Obs: No caso acima, se for informado em branco o campo pega o valor nulo. Se deixar o ano incompleto ele completa sozinho, e se a data não for válida ele não deixa passar.


Responder

Gostei + 0

19/06/2009

Fabricio.ribeiro

Obrigado [b:da12486964]Catunda[/b:da12486964], irei tentar isto.


Responder

Gostei + 0

23/06/2009

Fabricio.ribeiro

Desculpe [b:502b5af42c] Catunda[/b:502b5af42c], mas como faço pra adicionar este ´campo
temporário´ do tipo Date no meu formulário?

Tentei o TEdit mas ele não possui as propriedades que você mensiou...

Abraços!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar