



Oi pessoal, certa vez entrei uma dificuldade em fazer funcionar um locate,
por data.
Estava utilizando um ClientDataSet e um DateTimePicker,
como o código abaixo:
1 2 3 4 5 | procedure TForm1.Button1Click(Sender: TObject); begin ClientDataSet1.Locate('DATA', DateTimePicker1.DateTime, []); end; |
No entanto o locate nunca encontrava o registro. Então fiz uma pequena
alteração e o locate começou a funcionar.
Abaixo segue o código:
1 2 3 4 5 | procedure TForm1.Button2Click(Sender: TObject); begin ClientDataSet1.Locate('DATA', StrToDate(FormatDateTime('dd/mm/yyyy', DateTimePicker1.DateTime)), []); end; |
Espero ter ajudado!
Dúvidas ou sugestões, deixe nos comentários do post.
Você precisa fazer o login para publicar um comentário.
Por lapso não referia no comentário anterior que setando ambos, obrigatóriamente
FormatSettings.DateSeparator:=#45; //**
FormatSettings.ShortDateFormat:=’yyyy-MM-dd’; //**
Não importa que definição esteja na máquina do cliente que este passa a ser o formato considerado em todo o seu programa e deixa de ter no arranque e sempre que focar um campo TDate ou TDateTime a exception EConvertError … is not a valid date!