Erro ao Digitar Data

Delphi

25/08/2022

Olá Pessoal, estou com problemas para validar uma data.
estou usando o componente TDBDateEdit e quando digito algo tipo: 44/22/11 ocorre um erro: --> '44/22/11' is not a valid date
Se alguém souber de uma forma de tratar esse erro, ou conhece algum componente que possa digitar as datas já sendo tratadas, eu agradeço.

Achei esse exemplo, mas não tive sucesso ao implementar.
try

StrToDate(FDQry.FieldByName('DTCADASTRO').AsString);
except on EConvertError do

begin
ShowMessage ('Data Inválida!');
exit;
end;
Willian Rodrigues

Willian Rodrigues

Curtidas 0

Respostas

Raimundo Pereira

Raimundo Pereira

25/08/2022

Bom dia!
Experimenta usar DateTimePicker é um componente do tipo data e hora.
Já trata a data e hora ao digitar

Para usar formato hora, deverá selecionar a propriedade kind para dtkTime;
*Enviado ao banco de dados*
Suatabela.FDQry.FieldByName('DTCADASTRO').AsString:=TimeToStr(DateTimePicker1.Time);

Para usar formato data, deverá selecionar a propriedade kind para dtkDate;
*Enviado ao banco de dados*
Suatabela.FDQry.FieldByName('DTCADASTRO').AsString:=DateToStr(DateTimePicker1.Date);


*Pegando informação da tabela para o componente*
DateTimePicker1.Date:=StrToDate(Suatabela.FDQry.FieldByName('Seu campo data na tabela').AsString);
DateTimePicker1.Time:=StrTotime(Suatabela.FDQry.FieldByName('Seu campo horana tabela).AsString);

Observação: Caso só possua um campo na tabela, opere somente com a propriedade date.
Considerações: Certifica-se que o campo na tabela seja VARCHAR, caso esteja no formato timestamp, não se faz necessário converter de string para date
GOSTEI 0
Willian Rodrigues

Willian Rodrigues

25/08/2022

Tentei colocar esse componente, parece muito bom, sabe me dizer se existe uma forma de permitir digitar a Data?
Pelo visto, ele coloca as barras / / automaticamente.
GOSTEI 0
Raimundo Pereira

Raimundo Pereira

25/08/2022

Tentei colocar esse componente, parece muito bom, sabe me dizer se existe uma forma de permitir digitar a Data?
Pelo visto, ele coloca as barras / / automaticamente.


O componente permite que você digite uma data valida ou selecione uma data do calendar
GOSTEI 0
POSTAR