Esta función calcula los meses desde una fecha propuesta hasta la actual. No he gestionado los errores de poner fechas mas altas ni nada por el estilo. Simplemente he accedido a vuestra página,como muchas veces hago, para ver si me ahorraba un poquitín de trabajo y no la he visto y como la acabo de hacer, pues la mando para si a alguien le sirve por lo menos como orientación para algo parecido.
Seguid asi !!!
Un saludo de Ricky
Código Delphi
[-]
function MesesDesde(cadena:string):integer;
var
fecha_aux:TDateTime;
ano,mes,dia:word;
ano_act,mes_act,dia_act:word;
begin
fecha_aux:=strtodate(cadena);
decodedate(fecha_aux,ano,mes,dia);
decodedate(date,ano_act,mes_act,dia_act);
if (ano_act=ano) then if mes_act=mes then
result:=0
else result:=mes_act - mes;
if (ano_act <> ano) then
if mes_act < mes then
result := (mes_act+12 - mes) * ((ano_act-ano)*12)
else if mes_act=mes then
result := (ano_act-ano)*12
else if mes_act > mes then
result:=(mes_act-mes) + ((ano_act-ano)*12);
end;