deivis 0 Denunciar post Postado Outubro 19, 2006 O meu problema é o seguinte, tenho um DBEdit que está com o DataField com um campo do tipo Date, este está com a Propriedade EditMask assim:__ /__ /____ , quando eu passo pelo campo sem digitar nada, não ocorre nenhum erro, mas caso acrescente uma data qualquer e depois a removo para deixar o campo vazio, no momento em que saio deste campo ocorre o seguinte erro: Econvert with message "__/__/____" in not valid date.É que as vezes é necessário deixar este campo vazio, então gostaria de saber como posso contornar este erro?Já tentei usar tratamento de excessão, mas me parece que funciona apenas com Edit.Atenciosamente, Deivis. Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Outubro 19, 2006 como que está a sua máscara???? Compartilhar este post Link para o post Compartilhar em outros sites
deivis 0 Denunciar post Postado Outubro 19, 2006 como que está a sua máscara????A másca está assim: 99/99/9999;1; Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Outubro 19, 2006 porque você não usa um datetimepicker???se voc~e apertar Esc quando o foco esta na caixa ela da erro tambem??? Compartilhar este post Link para o post Compartilhar em outros sites
deivis 0 Denunciar post Postado Outubro 19, 2006 porque você não usa um datetimepicker???se voc~e apertar Esc quando o foco esta na caixa ela da erro tambem???quando precisono o Esc realmente não ocorre o erro, mas o usuário não saberá que se pressionar o Esc não ocorre o erro, então tenho de resolver de uma outra maneira. Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Outubro 19, 2006 no evento onExit você verifica, se o texto da caixa for igual a __/__/____ai você faz o o programa apertar o esc!!!sacou?? Compartilhar este post Link para o post Compartilhar em outros sites
deivis 0 Denunciar post Postado Outubro 19, 2006 no evento onExit você verifica, se o texto da caixa for igual a __/__/____ai você faz o o programa apertar o esc!!!sacou??como faço isso? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 19, 2006 Tente o seguinte, vá no FieldEditor e selecione o seu campo Data, vai no Evento OnSetText e faça algo do tipo: if Text = ' / / ' then Sender.AsString:=''else try Sender.AsString:=DateToStr(StrToDate(Text)); except Sender.AsString:='' end; Compartilhar este post Link para o post Compartilhar em outros sites
deivis 0 Denunciar post Postado Outubro 19, 2006 Funcionou.Agora gostaria de saber como é que posso validar a data por exemplo se o usuário digitar só: 10/10/e deixar o ano em branco, ou digitar só o ano e o restante em branco, gostaria de exibir uma mensagem de erro para o usuário, e não a mensagem de erro do delphi. Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Outubro 19, 2006 quando estiver debugando ele ira dar a msg do delphi e após isso a sua...mas no exe fica normal a sua!!! try strtodate(edtdata.text); except showmessage('preencha direito'); End; Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 19, 2006 Se você fizer o controle pelo OnSetText do campo, podera controlar todos estes eventos, e setar valores padrões conforme desejado... Compartilhar este post Link para o post Compartilhar em outros sites