Já consegui fazer um método que calcula, obrigado.

Function InterseccaoDatas(DataHora1,DataHora2,DataHora3,DataHora4: 
TDateTime):TDateTime;
  var Geral, p11,p12,p21,p22:TDateTime;
  Mgeral:integer;
begin
  p11 := DataHora1;
  p12 := DataHora2;
  p21 := DataHora3;
  p22 := DataHora4;
  //pega o tempo total e giarda em Geral
  MGeral:=MinutesBetween(iif(p11>p21,p21,p11),iif(p12>p22,p12,p22));
  Mgeral:=Mgeral-(MinutesBetween(p11,p12))-(MinutesBetween(p21,p22));
  Geral :=0;
  Geral:=IncMinute(Geral,Mgeral);
  if Geral>0 then
    Geral:=0;
  Result:=Geral
end;


  ----- Original Message ----- 
  From: willer 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, December 12, 2007 11:48 AM
  Subject: [delphi-br] Intersecção de Períodos


  Alguém sabe como faço para obter a intersecção entre Períodos?

  Por exemplo:
  Período 1 = 16/12/2007 13:15 16/12/2007 20:00
  Período 2 = 16/12/2007 17:00 16/12/2007 23:22

  Os dados acima retornariam 3:00, que é a intersecção. Alguém tem alguma idéia 
de como fazer? Faz um tempo que estou quebrando a cabeça.

  Preciso disso para desenvolver uma fórmula que fará um cálculo de data/hora 
que envolvem 3 períodos de tempo.

  Agradeço desde já qualquer ajuda.

  Uso o Delphi 7.

  Willer.

  [As partes desta mensagem que não continham texto foram removidas]



   

  __________ Informação do NOD32 IMON 2718 (20071212) __________

  Esta mensagem foi verificada pelo NOD32 sistema antivírus
  http://www.eset.com.br


[As partes desta mensagem que não continham texto foram removidas]

Responder a