GARANTIR DESCONTO

Fórum Operação com horas #329998

24/09/2006

0

Olá meus amigos,


Novamente estou aki solicitando de vcs uma auxílio num sistema que estou criando...
Preciso subtrair do horário de início, o horário final, para saber quantos minutos durou uma rotina qualquer...

Experimentei fazer isso com dois campos do time TIME e coloquei os seguites horários: H.I. => 15:53 H.F. => 15:57.

O resultado foi 00, quando deveria mostrar 4.

Alguém pode me ajudar a resolver este probleminha.

Obrigado a todos e beijinhos...


Anjinho Loiro

Anjinho Loiro

Responder

Posts

24/09/2006

Will

Receba a diferença em uma variável do tipo TDateTime. Se você só quer mostrar na tela basta formatar:
Ex.
[color=green:7ef54bc26f]
var
HoraIni, HoraFim, HoraDif: TDateTime;
begin
HoraIni := StrToTime(´15:53:00´);
HoraFim := StrToTime(´15:57:00´);
HoraDif := HoraFim - HoraIni;

ShowMessage(FormatDateTime(´hh:nn:ss.zzz´, HoraDif));
end;
[/color:7ef54bc26f]

Se você quer mostrar a diferença em minutos faça assim:
[color=green:7ef54bc26f]
var
HoraIni, HoraFim, HoraDif: TDateTime;
Horas, Minutos, Segundos, MSegundos: Word;
begin
HoraIni := StrToTime(´15:53:00´);
HoraFim := StrToTime(´15:57:00´);
HoraDif := HoraFim - HoraIni;

DecodeTime(HoraDif, Horas, Minutos, Segundos, MSegundos);
end;
[/color:7ef54bc26f]

Tem ainda a função [b:7ef54bc26f]MinutesBetween[/b:7ef54bc26f] da unit [b:7ef54bc26f]DateUtils[/b:7ef54bc26f]


Responder

Gostei + 0

25/09/2006

Macario

Ola.

Para medir o tempo de execucao de uma rotina (creio que no seu caso seja uma instrucao SQL) eu utlizo da seguinte forma.


var
  Inicio,Fim : DWord;

begin

  Inicio := GetTickCount;

  { bloco de codigo para execucao}


  Fim := GetTickCount;


  StatusBar.Panel[4].Text := FormatDateTime(´hh:mm:ss´,((Fim-Inicio)/1000/24/60/60));


end;











8)


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar