Erro com datas (DBExpress/Firebird/D7)
21/08/2008
0
Obrigado e aguardo qualquer ajuda.
Aprendiz_ce
Posts
21/08/2008
Marco Salles
erro clássico .... Vc deve ter alguma mascara no field .
tem que programar o evento ongettext
24/08/2008
Catunda
Mas se pretende apagar o valor da data precisa dar um clear nela. Exp:
ClientDataSet1Dtnascimento.Clear;
Solamente isto.
24/08/2008
Marco Salles
Catunda isto funciona como opção de Limpar , mas não resolve o Problema de Edição ...
Mesmo que voce Limpe este Campo se o Usuário
Digitar uma Data Válida e depois dar um backspace por exemplo , a Titulo de Limpar a Data ele obtera o Erro ao sair do Controle DataWare.
< Estou falando de campos que Tem mascarás nos TFields >
Então a Saida é usar o Evento OnGetText.
24/08/2008
Catunda
Sem o Clear ele não consegue limpar o campo, seja qual for a mascara utilizada.
Mas para um controle completo do campo, basta acrescentar o codigo abaixo ao evento OnSetText da variável correspondente à data:
try
if Trim(Text)=´/ /´ then Sender.Clear
else Sender.AsString:=Text;
except
on e:econverterror do
begin
ShowMessage(´Data inválida!´);
Abort;
end;
end;
É a mesma rotina que utilizo e nunca falhou.
24/08/2008
Marco Salles
consegui ... cds.fieldByName(´Campo´).asstring:=´´;
OnSetText ... Claro ... E eu falando OnGetText . Não posso editar
http://forum.devmedia.com.br/viewtopic.php?t=94492&highlight=onsettex¬2A
26/01/2009
Aprendiz_ce
consegui ... cds.fieldByName(´Campo´).asstring:=´´;
OnSetText ... Claro ... E eu falando OnGetText . Não posso editar
http://forum.devmedia.com.br/viewtopic.php?t=94492&highlight=onsettex¬2A[/quote:9249da802e]
Olá Marco,
O problema é edição do campo. O campo tá vazio (branco), o usuário digita a data e caso ele apague tudo do campo, ele nao consegue sair do campo, pois o mesmo fica lançando a mensagem de data invalida mesmo com o campo vazio (branco).
Obrigado pela atenção e aguardo comentário.
26/01/2009
Aprendiz_ce
Olá Catunda,
Nesse exemplo terei que colocar esse procedimento em cada campo data, é isso? Não tem como fazer isso de um forma GLOBAL para toda a aplicação?
Obrigado e aguardo e qualquer comentário.
Clique aqui para fazer login e interagir na Comunidade :)