GARANTIR DESCONTO

Fórum Entrada de tempo num DBGrid #271325

07/03/2005

0

Olá,


Estou com um problema na entrada de tempo num DBGrid. Tenho um campo do tipo ´Integer´ numa tabela reservado para guardar um certo tempo em segundos. No DBGrid, pretendo que o usuário entre o tempo no formato ´hh:mm:ss´. No objeto ´field´ do respectivo campo ajustei as propriedades ´EditFormat´ e ´DisplayFormat´ para ´#::´, de forma a poder receber e exibir o tempo no formado esperado.

Criei um evento ´GetText´ para este ´field´ onde faço a conversão do valor em segundos armazenado no campo ´Integer´ para o formato de exibição no DBGrid, isto é, ´hh:mm:ss´. Até aí tudo bem. Criei um evento ´SetText´ para fazer a conversão inversa, isto é, do formato de entrada ´hh:mm:ss´ para o campo ´Integer´ do banco de dados. Ocorre que o evento ´GetText´ está sendo chamado corretamente, fazendo a conversão esperada. Entretanto, o evento ´SetText´ não está sendo chamado. Assim sendo, quando entro ´00:03:46´, o valor sendo escrito no BD está sendo de ´346´ segundos, e não de ´226´ segundos já que o ´SetText´ não está sendo chamado para fazer a conversão de volta.

Como fazer com que minha rotina de reconversão seja chamada para que quando o usuário mude de campo no DBGrid (com TAB, por exemplo), o valor correto seja mostrado e armazenado no campo ´Integer´?

Grato por qualquer auxílio.


João Lira.


Joao Lira

Joao Lira

Responder

Posts

09/03/2005

Joao Lira

Olá,


Será que esse problema é tão trivial assim ou é tão complicado que ninguém sabe a resposta?


Responder

Gostei + 0

09/03/2005

Joaoshi

Uma opinião:

Se complicar muito, vc poderia criar um campo calculado no dataset, neste campo vc entraria com a data formatada e depois faria sua conversao.

espero que ajude.


Responder

Gostei + 0

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

Aceitar