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]

Responder a