Código
* Autor: Marcos Calixto
* Data: 10/11/2010
* Responsavel pelo retorno do total de minutos entre duas datas
* Onde dt1 é a data inicio e dt2 é a data fim
}
FUNCTION TotalMinutos(dt1,dt2 : TDateTime):Integer;// 10/11/2010
var
h1,h2,ht : Integer;
m1,m2,mt : Integer;
d1,d2,mts : String;
m1s,m2s : String;
td1,td2 : Integer;
begin
if ( dt1 > 0 ) AND ( dt2 > 0 ) then
begin
if dt2 > dt1 then
begin
d1 := FormatDateTime('dd',dt1);
d2 := FormatDateTime('dd',dt2);
td1 := strtoint(d2) - strtoint(d1);
if td1 > 0 then
begin
td1 := td1 * 24;
end;
h1 := strtoint(FormatDateTime('HH',dt1));
m1s := (FormatDateTime('HH:MM',dt1));
m1 := strtoint(copy(m1s,4,2));
h2 := strtoInt(FormatDateTime('HH',dt2));
m2s := (FormatDateTime('HH:MM',dt2));
m2 := strtoint(copy(m2s,4,2));
ht := ( ( h2 + td1 ) - h1 );
if m1 > m2 then
begin
ht := ht - 1;
mt := 60 - ( m1 - m2);
end else
begin
m1 := 60 - m1;
m2 := 60 - m2;
mt := ( m1 - m2 );
end;
result := ht * 60 + mt;
end else
begin
result := 0;
end;
end else
begin
result := 0;
end;
end;
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009