Cita:
Empezado por Caral
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
function Edad(FechaNacimiento:string):integer;
var iTemp,iTemp2,Nada:word;
Fecha:TDate;
begin
Fecha:=StrToDate(FechaNacimiento);
DecodeDate(Date,itemp,Nada,Nada);
DecodeDate(Fecha,itemp2,Nada,Nada);
if FormatDateTime('mmdd',Date) < FormatDateTime('mmdd',Fecha) then
Result:=iTemp-iTemp2-1
else Result:=iTemp-iTemp2;
end;
begin
Label1.Caption:=intToStr(Edad(DateToStr(DateTimePicker1.Date)));
end;
|
a caray que cosa mas rara la funcion recibe un parámetro de tipo strig por
lo cual conviertes un TDate a un string pero como necesitas un TDate,
en la primera linea de código conviertes el string (que era originalmente TDate) a un tipo TDate
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
function Edad(FechaNacimiento:TDate):string;
var
iTemp,iTemp2,Nada:word;
Fecha:TDate;
begin
DecodeDate(Date,itemp,Nada,Nada);
DecodeDate(Fecha,itemp2,Nada,Nada);
if FormatDateTime('mmdd',Date) <
FormatDateTime('mmdd',Fecha) then
Result:=IntToStr(iTemp-iTemp2-1)
else Result:=IntToStr(iTemp-iTemp2);
end;
begin
Label1.Caption:=Edad(DateTimePicker1.Date);
end;
Además es buscarle 5 pies al gato cuando existen las funciones:
YearsBetween, MonthsBetween, DaysBetwen, HoursBetween, WeeksBetween, etc., etc. en le unidad DateUtils