Calculo de Horas
Olá.
Estou com dificuldade para implementar o cálculo entre diferença entre horas.
1-Se já se passaram 5 horas desde a entrada no programa, então feche-o. Como fazer isso no Delphi?
2-Como fazer para que a contagem destas horas seja continuada de onde parou caso o computador seja reiniciado?
Obrigado.
Estou com dificuldade para implementar o cálculo entre diferença entre horas.
1-Se já se passaram 5 horas desde a entrada no programa, então feche-o. Como fazer isso no Delphi?
2-Como fazer para que a contagem destas horas seja continuada de onde parou caso o computador seja reiniciado?
Obrigado.
Ropesca
Curtidas 0
Respostas
Darlan
18/11/2005
Amigo
1º Quando loga no sistema crie um arquivo com a hora atual e data
atual
2º dentro de um time vc compara a hora gravada no arquivo com a do sistema ex
if (HoraSistema - HoraArq )>StrToTime(´05:00´) then
begin
showmessage(´5 horas´);
ai vc pode finalizar programa ou iniciar o arquivo novamente.
end;
[/code]
1º Quando loga no sistema crie um arquivo com a hora atual e data
atual
2º dentro de um time vc compara a hora gravada no arquivo com a do sistema ex
if (HoraSistema - HoraArq )>StrToTime(´05:00´) then
begin
showmessage(´5 horas´);
ai vc pode finalizar programa ou iniciar o arquivo novamente.
end;
[/code]
GOSTEI 0
Ropesca
18/11/2005
O que eu fiz foi isso:
Não funcionou, há alguma coisa errada?
Ele dá a mensagem muito antes de 5 seg.
Abraço.
[b:689210c81f]var[/b:689210c81f]
horainicial: tdatetime;
horasaida: tdatetime;
[b:689210c81f]begin[/b:689210c81f]
horainicial:= now;
if (Horainicial - Horasaida )>StrToTime(´00:00:05´) then
begin
showmessage(´5 seg´);
Não funcionou, há alguma coisa errada?
Ele dá a mensagem muito antes de 5 seg.
Abraço.
GOSTEI 0
Edilcimar
18/11/2005
se horainicial(que é agora) - horasaida(que deve ser depois) é maior que qualquer coisa (sempre será)
GOSTEI 0
Martins
18/11/2005
Crie uma var global, q armazene a hora em q vc logou no sistema, depois dentro de um timer, vc verifica se a diferença entre a hora atual - a hora logada no sistema é maior do q a especificada por vc.
ex:
Só uma idéia do q vc pode fazer. Implementar é por sua conta agora.
Boa sorte!!!
ex:
var form : Tform; hora_i : TDateTime; .... //No o vc coloca hora_i := Now; .... //No timer if (Time - hora_i) > StrToTime(´00:00:05´) then begin showmessage(´5 seg´); end else ......
Só uma idéia do q vc pode fazer. Implementar é por sua conta agora.
Boa sorte!!!
GOSTEI 0
Crash
18/11/2005
prefira trabalhar com numeros ao inves de conversoes de texto. por exemplo: cada hora seria 1/24 cada minuto seria 1/24/60/60.
HoraFinal, HoraInicial : TTime
if (HoraInicial - HoraFinal) < (5 / 24) then
Comandos...
t+
HoraFinal, HoraInicial : TTime
if (HoraInicial - HoraFinal) < (5 / 24) then
Comandos...
t+
GOSTEI 0
Crash
18/11/2005
ops acho q errei....
seria
if (HoraFinal - HoraInicial) < (1/24 * 5) then
Comandos...
t+
seria
if (HoraFinal - HoraInicial) < (1/24 * 5) then
Comandos...
t+
GOSTEI 0
Ropesca
18/11/2005
Nenhum dos esquemas propostos pelos amigos acima funcionaram, nem do CrasH nem do Martins.
Ele continua aparecendo a mensagem fora do estabelecido.
Espero que possam me ajudar.
Ele continua aparecendo a mensagem fora do estabelecido.
Espero que possam me ajudar.
GOSTEI 0