Calculo de Horas

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

Respostas

18/11/2005

Darlan

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][/quote]


Responder Citar

19/11/2005

Ropesca

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.


Responder Citar

19/11/2005

Edilcimar

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


Responder Citar

19/11/2005

Martins

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!!!


Responder Citar

20/11/2005

Crash

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+


Responder Citar

20/11/2005

Crash

ops acho q errei....


seria

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


t+


Responder Citar

20/11/2005

Ropesca

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.


Responder Citar