Buscar

Acumulador de horas (soma tempo, horas)

Código

//esta dica serve para acumular horas digitadas ...

 procedure TFrColaborador.BtGravarClick(Sender: TObject);
//  declare ela
 procedure AcumulaHoras(Tempo : TTime);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
// declare as seguintes variaveis
  Acumula: array[1..2] of integer;
  Hora,minuto:Integer;

implementation



//TFrColaborador subistua pelo nome do seu formulario
procedure TFrColaborador.AcumulaHoras(Tempo : TTime);
begin
      Hora:=Hora+StrToInt(Copy(TimeToStr(Tempo),1,2));
      Minuto:=Minuto+StrToInt(Copy(TimeToStr(Tempo),4,2));
      If Minuto >= 60 Then
      Begin
          Hora:=Hora+1;
          Minuto:= minuto - 60;
      end;
      Acumula[1]:=Hora;
      Acumula[2]:=Minuto;
end;


//exeplo de como chamala
procedure TFrColaborador.BtGravarClick(Sender: TObject);
begin
     Hora:= 0;
     minuto := 0;
     AcumulaHoras(StrToTime('10:03:00'));
    // depois de passar todos os tempos, pode mostrar para o usuario num edit desse jeito
   EdHoras.Text:= FormatFloat('00',Acumula[1])+':'+FormatFloat('00',Acumula[2])+':00';

end;


//by thiago
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Data e hora
Adicionada dia: 13/08/07
Por: Thiago
Visualizada: 9731 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009