Array
(
)

Validar Hora

Jrjoliv2003
   - 08 ago 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.


Lucas Silva
   - 08 ago 2004

#Código

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



Jrjoliv2003
   - 08 ago 2004

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.


Carlosrm
   - 09 ago 2004

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


Lucas Silva
   - 09 ago 2004

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


Jrjoliv2003
   - 09 ago 2004

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.


Jrjoliv2003
   - 09 ago 2004

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.


Lucas Silva
   - 09 ago 2004


Citação:
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
#Código


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



Jrjoliv2003
   - 09 ago 2004

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.


Thomaz_prg
   - 09 ago 2004

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

Tools -> Debugger Options

Clique na aba Language Exceptions e desative a opção:
Stop on Delphi Exceptions.

Mas, você também pode usar a função TryStrToTime

Use-a assim:
#Código


procedure TForm1.Button1Click(Sender: TObject);
Var t:TDateTime;
begin
if not TryStrtoTime(edit1.Text, t) then
showmessage(´Errado!´);
end;



Jrjoliv2003
   - 10 ago 2004

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.


Jrjoliv2003
   - 10 ago 2004

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.