Validar Hora

08/08/2004

Como que eu poderia validar uma hora digitada, sendo que a hora precisa se hora diária entre 00:00 até 23:59?

Valeu a força!!

JR.


Jrjoliv2003

Respostas

08/08/2004

Lucas Silva

try
 StrToTime(edit1.text);
except ShowMEssage(´não é uma hora válida!´);
end;



Responder Citar

08/08/2004

Jrjoliv2003

Eu coloco essa codificação e o program me retorna um erro que a hora não é válida.

O exemplo que faço é o seguinte:
1º - Digito 25:00.
2º - Clico no botão com essa codificação
try
StrToTime(edit4.text);
except ShowMEssage(´não é uma hora válida!´);
end;
3º - Me retorna uma mensagem de erro, mas a mesnagem do Delphi e não do Showmessage.

O que será que está errado?

Valeu a força!!!

JR.


Responder Citar

09/08/2004

Carlosrm

jrjoliv2003

o exemplo do Lucas está beleza! Eu fui testar para tirar uma dúvida (usar strtofloat no lugar de strtotime, mas isto é outra história...) e distraidamente fiz o mesmo que vc: usei 25:00 !
Como vc mesmo disse, o dia vai de 0:00 até 23:59... portanto, a 25.a hora só existe em filme (é antigo, com o Anthony Quinn...). Aliás, até mesmo a tal da ´meia-noite´ também não funciona, uma vez que ela não existe. Ou ainda são 23:59 ou já estamos no outro dia, às 0:00 (desprezando os milissegundos e outras frações).
Se vc digitar qualquer coisa >= 24:00 (ou negativo) vai dar erro.

carlosrm


Responder Citar

09/08/2004

Lucas Silva

Tenta executar seu programa pelo .exe que vai dar certo!


Responder Citar

09/08/2004

Jrjoliv2003

Resumindo...

eu teria q fazer um teste para verificar se o usuário digitou >=0:00 e <=23:59 é isso?

Desculpe! Sou navato em programação. Faz parte do meu Projeto Final.

Valeu a força!!
JR.


Responder Citar

09/08/2004

Jrjoliv2003

Como que eu poderia validar uma hora digitada, sendo que a hora precisa se hora diária entre 00:00 até 23:59?

Se eu digitar 25:33 como hora terá que me mandar uma mensagem de erro. Só será aceita hora do dia.

Tá difícil!!!

Valeu a força!!

JR.


Responder Citar

09/08/2004

Lucas Silva

Como que eu poderia validar uma hora digitada, sendo que a hora precisa se hora diária entre 00:00 até 23:59? Se eu digitar 25:33 como hora terá que me mandar uma mensagem de erro. Só será aceita hora do dia. Tá difícil!!! Valeu a força!! JR.


Coloque esta data dentro do edit1, no clique de um botão coloque o código
try 
StrToTime(edit1.text); 
except ShowMEssage(´não é uma hora válida!´); 
end;



Responder Citar

09/08/2004

Jrjoliv2003

Veja o q eu faço:

coloco um edit;
coloco um botão com essa codificação;
digito 25:35;
clico no botão;
aparece uma mesnagem de erro do delphi e não do showmessage.


O q faço?

Valeu a ajuda!!

JR.


Responder Citar

09/08/2004

Thomaz_prg

O exemplo do Lucas está correto. Mas para vc ver ele funcionando em DesignTime, vá em:

[b:b5d58149d7]Tools -> Debugger Options[/b:b5d58149d7]

Clique na aba [b:b5d58149d7]Language Exceptions[/b:b5d58149d7] e desative a opção:
[b:b5d58149d7]Stop on Delphi Exceptions[/b:b5d58149d7].

Mas, você também pode usar a função [b:b5d58149d7]TryStrToTime[/b:b5d58149d7]

Use-a assim:
procedure TForm1.Button1Click(Sender: TObject);
Var t:TDateTime;
begin
if not TryStrtoTime(edit1.Text, t) then
  showmessage(´Errado!´);
end;
[/code]


Responder Citar

10/08/2004

Jrjoliv2003

Beleza!!!
Resolvido assim:

try
StrToTime(edit1.text);
except ShowMEssage(´não é uma hora válida!´);
end
OBS: Desativei em opção em Tools – Debuguer Options => Stop on Delphi Exceptions

Valeu pela força mais uma fez!!!

JR.


Responder Citar

10/08/2004

Jrjoliv2003

Beleza!!!
Resolvido assim:

try
StrToTime(edit1.text);
except ShowMEssage(´não é uma hora válida!´);
end
OBS: Desativei em opção em Tools – Debuguer Options => Stop on Delphi Exceptions

Valeu pela força mais uma fez!!!

JR.


Responder Citar