Campo DateTime - Fórum DevMedia
Alguém já teve problemas com campos DateTime onde se tem de alterar as propriedades do painel de controle/Opções Regionais e de Idioma.../Personalizar.../Números... e no campo "Separador de Lista" alterar o caracter que estava lá de ";" (ponto-e-vírgula) para "/" (barra) ?
Meu sistema é com Delphi 2006 + Firebird 2.0 + DbExpress. Formatei a máscara para 99/99/9999;1;_
Distribui a aplicação e dava erro no campo Edit que recebia a data no formato acima, aparecia uma mensagem de erro como: 'xx//xx//xxx' is not valid date time. Esse mesmo erro não ocorria no PC que usei para desenvolver a aplicação, então suspeitei de configurações do Painel de Controle do PC em que instalei a aplicação.
Ao alterar o campo descrito no primeiro parágrafo, o erro cessou, contudo ficou a dúvida.
Eu poderia ter feito alguma alteração no programa para evitar ou prevenir tal erro? Alguém já enfrentou problema semelhante, como corrigiu? Terei de alertar o usuário a respeito do possível erro?
Alessandre Niza
Vc pode formatar uma data para exibição de qualquer jeito, sem problemas. Mas vc só pode informar uma data para o banco de dados em um formato fixo, que ele entenda, e que no caso do Firebird não tem nenhuma relação com a configuração de data SO do cliente ou servidor.
Alguns formatos de data que o FB entende são: 'dd.mm.yyyy' e 'mm/dd/yyyy'
Olha só, o fato é que a mascara esta com o formato dd/mm/aaaa, e no PC usado no desenvolvimento da aplicação o problema não ocorre, rodando normalmente a aplicação e aceitando as datas digitadas normalmente.
Mas, ao rodar a aplicação em outro PC, surgiu esse erro estranho e, ao alterar o campo que descrevi acima, através das opções regionais e de idioma do SO, o problema foi resolvido. Por isso não entendi a razão do erro e nem nexo.
A minha dúvida é justamente por isso, se isso pode acontecer em outros PCs, se alguém já viu isso em seus aplicativos e se posso evitá-lo de alguma maneira, com alguma técnica, na hora de programar os campos ou mesmo a mascara, alguma propriedade, ou seja alguma solução ???