Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Calcular EDAD completa (https://www.clubdelphi.com/foros/showthread.php?t=44379)

MaMu 05-06-2007 06:44:50

Calcular EDAD completa
 
Como puedo hacer para calcular la edad completa de una persona, sabiendo su fecha de nacimiento?

Necesito obtener, AÑOS, MESES, y DIAS. La fecha de nacimiento la tomo de un DateTimePicker, del cual me gustaria poder inhabilitar la posibilidad de seleccionar una fecha a futuro, es decir, un dia que todavia no paso, como por ejemplo, mañana.

Todos los ejemplos que encontré en el foro, tan solo calculan años.

Saludos.

MaMu 05-06-2007 06:54:44

SOLUCIONADO

Lo solucione implementanto esta función, la dejo acá por si alguien la necesita. Saludos

Código Delphi [-]
function CalculaEdadCompleta(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;
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;

y la llamada

Código Delphi [-]
Label1.Caption:=CalculaEdadCompleta( DateTimePicker1.Date);

cof cof, marche truco para Cadenas...

Saludos.

Neftali [Germán.Estévez] 05-06-2007 10:59:56

Si me permites la sugerencia, puedes añadirlo como truco en la sección de trucos del Club Delphi. Así quedará constancia si alguien más lo busca posteriormente.

Un saludo y gracias por el código.

Cañones 29-03-2011 21:29:53

Gracias, muy bueno.


La franja horaria es GMT +2. Ahora son las 16:30:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi