Fórum Como criar um campo para inserção de hora, que somente os digitos valido seja digitados ? [DELPHI] #597123
13/09/2018
0
Bom eu venho desenvolvendo um sistema em delphi, e me deparo com a seguinte questão.
Como faço para com que o campo hora somente receba os valores validos de hora
e o mesmo com o campo data.
Espero ter sido claro
Agradeço desde ja.
Doni
Curtir tópico
+ 0Posts
13/09/2018
Felipe Morais
O Delphi possui validações de data e hora (unit SysUtils) nas seguintes funções:
TryStrToDate TryStrToTime TryStrToDateTime
Use-as para validar os seus campos. Espero ter ajudado.
Gostei + 0
13/09/2018
Doni
eu queria restringir ele a somente ao valores validos para hora (00:00 a 23:59)
seria possivel isso ?
talvez com algum outro componente?
Gostei + 0
15/09/2018
Raimundo Pereira
function TForm1.ValidValue(ValorCampo: string): ttime;
begin
try
Result:=StrToTime(ValorCampo);
except
Result:=StrToTime('00:00:00');
end;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
Edit1.Text:=TimeToStr(ValidValue(Edit1.Text));
end;
end;
Gostei + 0
15/09/2018
Doni
<br />
<br />
function TForm1.ValidValue(ValorCampo: string): ttime;<br />
begin<br />
try<br />
Result:=StrToTime(ValorCampo);<br />
except<br />
Result:=StrToTime(''00:00:00'');<br />
end;<br />
end;<br />
<br />
<br />
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);<br />
begin<br />
if key = #13 then<br />
begin<br />
Edit1.Text:=TimeToStr(ValidValue(Edit1.Text));<br />
<br />
end;<br />
end;<br />
<br />
<br />
o que essa codição com #13 faria ?
Gostei + 0
15/09/2018
Raimundo Pereira
Significa que ao pressionar uma tecla ele executar algo.
No caso eu valido no onkey press do button "Enter" =13
Você pode chamar a função ao sair do campo também.
Gostei + 0
15/09/2018
Raimundo Pereira
Significa que ao pressionar uma tecla ele executar algo.
No caso eu valido no onkey press do button "Enter" =13
Você pode chamar a função ao sair do campo também.
Gostei + 0
15/09/2018
Doni
esse é o único modo ? Esta pensado em algo do tipo, o usuário não conseguir digitar, não aparecendo na tela.
Isso seria no caso em tempo de execução, estou ceto ?
É um meio mais complicado, ou inviável ?
Gostei + 0
16/09/2018
Raimundo Pereira
Use a função copy para copiar o conteúdo do campo e validar ao ser preenchido pelo usuário
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)