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]