* Función para calcular edad */ function Edad(Fecha:TDateTime):String; var A, AA, M, MM, D, DD: Word; Anio, Mes, Dia: double; begin DecodeDate(Fecha, A, M, D); DecodeDate(Date, AA, MM, DD); Anio := Int(AA - A); if( M <= MM ) then Mes := MM - M else begin Mes := MM+12-M; Anio := Anio -1; end; if( D <= DD ) then Dia := DD - D else begin Dia:=DD+MonthDays[IsLeapYear(AA),MM]-D; Mes := Mes -1; end; //Caso especial donde no ha cumplido años, pero los cumplirá el mismo mes if Mes < 0 then begin Anio := Anio - 1; Mes := 12 + Mes; end; Result := Format('Años: %.0f, Meses: %.0f, Dias: %.0f', [Anio, Mes, Dia]); end
A esta función, solo pasale la fecha de nacimiento y asigna el resultado, por ejemplo
Label1.Caption:=Edad(FechaNacimiento);
Ważne artykuły