Fórum Inserir zeros se não for completa a data #347415

16/10/2007

0

Olá.

Pessoal, to querendo saber como posso fazer uma formatação em um Edit ou um MaskEdit.
Seria assim. No MaskEdit tenho este maior necessidade porque utilizo Mysql como meu BD e ele não aceita campos vazios no MaskEdit, exemplo:

Usuario digita data: 1/1/07

Gostaria que se o Usuario digitasse o exemplo acima, no OnExit do meu MaskEdit ele formatasse inserindo zeros e alterando o campo ´ano´
Exemplo:

Usuario digita data: 1/1/07

Formataria para: 01/01/2007

E tambem validasse a data mas que validasse tambem ano bicesto se for o caso.
Poderião me ajudar?
Agradeço.

Att.


Devmedia

Devmedia

Responder

Posts

16/10/2007

Marco Salles

isto que eu chamo de tres em Um...

Formatar , inserir , validar , ano bissesto etc...

bem , várias maneiras

coloque a mascara do seu MaskEdit assim :

!99/99/9999;1;_


no evento onCreate do Form digite :

ShortDateFormat:=´dd/mm/yyyy´;


no evento onExit do MaskEdit coloque

try
maskEdit1.Text:=DateToStr(StrtoDate(maskEdit1.Text));
except
  Showmessage(´dataInválida´);
  maskEdit1.SetFocus;
end;


boa sorte...


Responder

Gostei + 0

16/10/2007

Devmedia

Ok.
Muito orbrigado.
Validar a data, funcionou. Mas preencher com zeros igual informei na minha duvida.
Mão fez.

Pode me ajudar?
Att.


Responder

Gostei + 0

16/10/2007

Marco Salles

Ok. Muito orbrigado. Validar a data, funcionou. Mas preencher com zeros igual informei na minha duvida. Mão fez. Pode me ajudar? Att.


engraçado.... Aqui funcionou

Voce fez todos os [b:b4258729c1]tres[/b:b4258729c1] passos que sugeri no primeiro tópico ??????


Responder

Gostei + 0

16/10/2007

Devmedia

Quando termino de digitar no MaskEdit, por exemplo:


1/1/07

Ele da erro ´Invalid input value. Use escape Key to abandon changes´
E não formata inzerindo zeros para ficar, exemplo:

01/01/2007

Utilizo delphi 7.

Agradeço à ajuda.
Att.


Responder

Gostei + 0

16/10/2007

Devmedia

Mil desculpas.
Não tinha percebido a diferenca no Style que voce colocou.

!99/99/9999;1;_


Desculpe mais uma vez e Muito Obrigado pela à ajuda.
Para alguem que venha utilizar esta dica. Funciona corretamente o que nosso amigo Marcos Salles respondeu.
Att.


Responder

Gostei + 0

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

Aceitar