Buscar

Acumulador de horas

Código

Exemplo para acumular horas. Siga os passos:
1) Em um novo form insira 4 componentes MaskEdit. O primeiro será para a data de início, o segundo para a hora de início, o terceiro para a data final e o quarto para a hora final.
2) Insira também 1 botão de comando e 1 Label.
3) Dê um clique duplo no botao de comando, apague a instrução begin e digite as seguintes linhas de código:

//início do código
var
dt_inicio:tdate;
hr_inicio:ttime;
dia, dias:integer;
horas,min_seg:string;
begin
  dt_inicio:= strtodate(MaskEdit1.Text);
  hr_inicio:= strtotime(MaskEdit2.Text);
  dias := strtoint(formatfloat('0', strtodate(MaskEdit3.Text) -dt_inicio));
  horas:=formatdatetime('hh',StrToTime(MaskEdit4.Text) - hr_inicio);
  min_seg:=formatdatetime('hh:mm:ss',strtotime(MaskEdit4.Text) - hr_inicio);
  dia:= (24 * dias) + strtoint(horas);
  if (dia = 0) and (horas < inttostr(10)) then
    label6.Caption :='0'+ inttostr(dia) + copy(min_seg,3,6)
  else
    label6.Caption := inttostr(dia) + copy(min_seg,3,6);
//fim do código

4) Execute o programa, preencha os campos com as datas e horas desejadas e clique no botao. O programa mostrará na label o total de horas.

Publicidade

Vote na dica




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


Detalhes da dica

Categoria: Data e hora
Adicionada dia: 02/05/07
Por: Jovane Fioresi
Visualizada: 3023 vezes

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