Código
var
dta_inicio:tdate;
hra_inicio:ttime;
dia :integer;
dias : real;
horas,min,seg,residuo:Ttime;
begin
if CDSF.FieldByName('FHM_DATA_SAIDA').AsDateTime =
CDSF.FieldByName('FHM_DATA_RETORNO').AsDateTime then
begin
dta_inicio:= CDSFa.FieldByName('FHM_DATA_SAIDA').AsDateTime;
hra_inicio:= CDSF.FieldByName('FHM_HORA_SAIDA').AsDateTime ;
CDSF.FieldByName('FHM_DURACAO_A').AsDateTime :=
CDSF.FieldByName('FHM_HORA_RETORNO').AsDateTime - hra_inicio;
label16.Caption := '';
end
else
begin
horas := strtotime('23:59'); residuo := strtotime('00:01');
dias := CDSF.FieldByName('FHM_DATA_RETORNO').AsDateTime -
CDSF.FieldByName('FHM_DATA_SAIDA').AsDateTime;
dia := strtoint(floattostr(dias - 1));
min := ((horas + residuo) - CDSF.FieldByName('FHM_HORA_SAIDA').AsDateTime);
if CDSF.FieldByName('FHM_HORA_RETORNO').AsDateTime >
CDSF.FieldByName('FHM_HORA_SAIDA').AsDateTime then
begin
inc(dia);
end;
seg := CDSF.FieldByName('FHM_HORA_RETORNO').AsDateTime;
CDSF.FieldByName('FHM_DURACAO_A').AsDateTime := {formatdatetime('hh:mm',}(min+seg);
if dia <> 0 then
begin
if dia > 1 then
label16.Caption := '+ '+inttostr(dia)+' dias'
else
label16.Caption := '+ '+inttostr(dia)+' dia';
CDSF.FieldByName('FHM_NUM_DIAS').AsInteger := dia;
end
else
label16.Caption := '';
end;
end;
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009