Ver la Versión Completa : 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.
SOLUCIONADO
Lo solucione implementanto esta función, la dejo acá por si alguien la necesita. Saludos
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-D;
Mes := Mes -1;
end;
if Mes < 0 then
begin
Anio := Anio - 1;
Mes := 12 + Mes;
end;
Result := Format([I]'Años: %.0f, Meses: %.0f, Dias: %.0f', [Anio, Mes, Dia]);
end;
y la llamada
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 (http://www.clubdelphi.com/trucos/). 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.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.