Fórum Digitar e validar os valores digitados numa coluna do DBGrid #368228
06/02/2009
0
Aqui neste link segue uma imagem de como o meu programa deve ficar:
http://i415.photobucket.com/albums/pp240/junniorsouzza/imagem.jpg
Eu uso um DBGrid integrado com ClientDataSet e uma das colunas dessa tabela se chama horas (tipo Time). Eu gostaria de saber como fazer para digitar um valor de tempo válido (Exemplo: 8:30) nesse campo e ir somando automaticamente os valores num Edit, conforme voces viram na figura.
Obrigado!!
Junnsouzza
Curtir tópico
+ 0Posts
06/02/2009
.lg.
Nos ´Fields´ do seu ClientDataSet. No caso o seu Field de [b:1cb68713ea]Hora[/b:1cb68713ea]. Tem um evento chamado ´[b:1cb68713ea]OnGetText[/b:1cb68713ea]´ (Alguem me corrija se eu eutiver errado). Use-o para fazer a validação necessária.
Agora você pode deixar um formato padrão de [i:1cb68713ea]Hora[/i:1cb68713ea] no seu Field editando a propriedade [b:1cb68713ea]EditMask[/b:1cb68713ea]. Assim ele so poderá colocar um valor referente a hora.
Na propriedade existe exemplo de Hora. E se precisar precione F1 na propriedade no objectInspector que ele lhe descreverá como usar uma mascara neste caso. Acho que os caracteres ´H´,´h´,´M´,´m´ são padrões de Hora e Minuto.
Espero que ajude.
Abraços.
Gostei + 0
07/02/2009
Junnsouzza
Não sei se voce entendeu bem o que eu quero fazer. Após eu setar os valores das datas final e inicial nos DataTimePicker e após ele exibir conforme está na figura, eu quero que o usuário DIGITE um valor de horas válido no campo horas do DBGrid, e que esses valores sejam somados automaticamente e exibidos no Edit. Por exemplo: Eu digito o valor 8 no primeiro campo, depois 8:30 no segundo e ele soma automaticamente e exibe no Edit. Ou seja, 8 + 8:30 = 16:30. Eu quero tb que ao tentar digitar o valor não seja possível digitar outro valor que não represente um valor de tempo, por exemplo, uma letra ou um caractere especial. Não sei se expliquei bem, mas é basicamente isso.
Se der pra ajudar ^^
Obrigado!!
Gostei + 0
07/02/2009
Dbergkamps10
Conforme já disseram, é melhor fazer a validação no seu CDS, ou no próprio banco antes de gravar. No CDS, vc pode mascarar o campo para o tipo Time, que assim vc restringe a digitação somente para datas válidas.
Espero ter ajudado.
Att
Dalton
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)