Array
(
)

Calculo de Horas

Ropesca
   - 18 nov 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.


Darlan
   - 18 nov 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;
[/tagcod]


Ropesca
   - 19 nov 2005

O que eu fiz foi isso:


Citação:

var
horainicial: tdatetime;
horasaida: tdatetime;
begin
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.


Edilcimar
   - 19 nov 2005

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


Martins
   - 19 nov 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:

#Código



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


Crash
   - 20 nov 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+


Crash
   - 20 nov 2005

ops acho q errei....


seria

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


t+


Ropesca
   - 20 nov 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.