So, try it: function MesesEntreDatas(pData1, pData2: TDate): Integer; begin
if FormatDateTime('mm/yyyy', pData1) = FormatDateTime('mm/yyyy', pData2) then //se data1 e data2 estao no mesmo mes... Result := 1 else begin pData1 := strtodate(FormatDateTime('"15"/MM/yyyy', pData1)); pData2 := strtodate(FormatDateTime('"15"/MM/yyyy', pData2)); Result := MonthsBetween(pData1, pData2) + 1; end; end; see you! ----- Original Message ----- From: Luciano Calenzani Simões To: delphi-br@yahoogrupos.com.br Sent: Thursday, August 21, 2008 4:39 PM Subject: Res: [delphi-br] Retornar numero de meses entre duas datas Vai dar problema se fizer entre as seguinte datas: 01/02/2008 e 01/03/2008. Leia o e-mail que enviei que entenderá o porque. Luciano Calenzani Simões ----- Mensagem original ---- De: Antonio Mateus <[EMAIL PROTECTED]> Para: delphi-br@yahoogrupos.com.br Enviadas: Quinta-feira, 21 de Agosto de 2008 16:28:52 Assunto: Re: [delphi-br] Retornar numero de meses entre duas datas agora sim me retornou o numero de meses correto... valeuz !! 2008/8/21 Fernando Leal <[EMAIL PROTECTED] edu.br> > Ola Antonio, > > Observer que a função MonthsBetween retorna um valor inteiro. Corrigindo > > ShowMessage( IntToStr( MonthsBetween( DataInicial, DataFinal))) > > Att.: > > _____ > > Fernando Leal Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]