Dá uma olhada nestes dois textos, neles você vai ter a solução do seu problema 
e entender mais sobre datas no Delphi.
http://dn.codegear.com/article/33729
http://www.devmedia.com.br/articles/viewcomp.asp?comp=356

Mas não deixe de ler o help do Delphi que explica o porque o MonthsBetween está 
retornando "valores totalmente fora da realidade":

Returns the approximate number of months between two specified 
TDateTime values.
Call MonthsBetween to obtain the difference, in months, between 
two TDateTime values. Because months are not all the same length, MonthsBetween 
returns an approximation based on an assumption of 30.4375 days per month. 
Fractional months are not counted. Thus, for example, MonthsBetween reports the 
difference between Feb 1 and Mar 1 as 0.


Depois dá uma olhada na função MonthSpan. Olha o que informa o help:

Returns the approximate number of months, including fractions, 
between two specified TDateTime values.
Call MonthSpan to obtain the difference, in months, between two TDateTime 
values. Because months are not all the same length, MonthsBetween returns an 
approximation based on 
an assumption of 30.4375 days per month. Unlike the MonthsBetween function, 
which does not report 
fractional "months", MonthSpan reports incomplete months as a fraction of an 
entire month


Na verdade a solução vai depender da sua necessidade.

 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 15:28:54
Assunto: [delphi-br] Retornar numero de meses entre duas datas


Olá sou novo no delphi e estou com o seguinte problema,  tenho 2 datas, uma
inicial e outra final, gostaria que o programa me retornasse o numero de
meses entre essas duas datas, ja tentei a função MonthsBetween sendo que a
mesma me retorna valores totalmente fora da realidade, se alguem puder me
ajudar eu ficarei muito agradecido !

-- 
Antonio Mateus
Estudante de Sistemas de Informação


      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]

Responder a