Calcular Horas

Delphi

30/03/2008

Olá pessoal estou com um problema para calcular horas es se possivel m ajudarem esse problema...

tenho 3 DBEdits q recebera as horas de saidas e 3 DBedits q recebera as Horas de chegadas

e m da o total de horas trabalhada

sendo q os edits recebe os dados da seguinte forma HH:MM


eu ja tentei fazer de umas forma mas sem sucesso e m retorna o total com uam diferença meioto grande de horas...


Tchucky

Tchucky

Curtidas 0

Respostas

Mateusandre

Mateusandre

30/03/2008

Ola amigo o delphi tem uma função pronta e se usa da seguinte meneira


procedure Tfrm_ajuda.Button4Click(Sender: TObject);
var
datainicial, datafinal : TDateTime;
Contador : Integer;
begin
datainicial := StrToDate(Edit1.Text);
datafinal := StrToDate(Edit2.Text);

Contador := hoursBetween(datainicial,datafinal);

Label9.Caption := IntToStr(Contador);

end;


GOSTEI 0
Ffabiop

Ffabiop

30/03/2008

No Deplhi quando fazemos um cálculo de horas temos o resultado em dias então:

var
  horaIni, horaFim: TDateTime;
  Tempo: Real;
  Hora: String;
begin
  //minutos parados
  Tempo := round((HoraFim-HoraIni)*24*60);
  //horas
  Hor:=Int(Tempo/60);
  //minutos
  Min:=Int(Tempo-(Hor*60));
  //hora formatada
  Hora := FloatToStr(Min);
  //preenche minutos com duas casas
  while Length(Hora) < 2 do
    Hora:=´0´+Hora;
  //Hora formatada
  Hora :=FloatToStr(Hor)+´:´+Hora;


As váriéveis horaIni e horaFim estão como datetime porque evita problemas de cálculo quando o intervalo passa de um dia para o outro, informando as horas com a data junto, não precisamos nenhum tratamento especial(´31/03/2008 08:30:00´)


GOSTEI 0
POSTAR