Calculo de Horas

Delphi

18/11/2005

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.


Ropesca

Ropesca

Curtidas 0

Respostas

Darlan

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]



GOSTEI 0
Ropesca

Ropesca

18/11/2005

O que eu fiz foi isso:

[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

Edilcimar

18/11/2005

se horainicial(que é agora) - horasaida(que deve ser depois) é maior que qualquer coisa (sempre será)


GOSTEI 0
Martins

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:


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

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+


GOSTEI 0
Crash

Crash

18/11/2005

ops acho q errei....


seria

if (HoraFinal - HoraInicial) < (1/24 * 5) then
Comandos...


t+


GOSTEI 0
Ropesca

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.


GOSTEI 0
POSTAR