![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
se supone que
Código:
ModeloDatos.TblMueble.FieldValues['Añocompra'] Pues entonces has de hacer lo que te proponia en el mensaje anterior Código:
var
D, M, AIni, AFin : Word;
begin
DecodeDate(AFin, M, D, Date);
DecodeDate(AIni, M, D, ModeloDatos.TblMueble.FieldValues['Añocompra']);
ShowMessage('Diferencia de años : ' + IntToStr(AFin - AIni));
end;
|
|
#2
|
|||
|
|||
|
que ocurre si compro algo el 31/12/03 y lo vendo el 01/01/04. ?
que resultado debe dar? deberia dar 0 años. no? creo que no habria querestar solo los años, sino tener en cuenta toda la fecha. ![]()
__________________
frenadol |
|
#3
|
||||
|
||||
|
manrueda... yo intento poner mi granito de arena conforme a mis conocimientos (o capacidad de búsqueda de información), es verdad lo que dices, debería de dar la fecha completa, el caso es que no se :d
__________________
:) |
|
#4
|
||||
|
||||
|
Código:
function Edad(FecNac, FecAct: tDateTime): Integer;
var
nAnoAct, nMesAct, nDiaAct: word;
nAnoNac, nMesNac, nDiaNac: word;
Edad: Integer;
begin
//Calcula la edad en años
//Desglosa la Fecha
DecodeDate(FecNac, nAnoNac, nMesNac, nDiaNac);
DecodeDate(FecAct, nAnoAct, nMesAct, nDiaAct);
//Verifica una fecha
if FecNac = 0 then
begin
Result := 0;
Exit;
end;
//Edad en años
Edad := nAnoAct - nAnoNac;
//Calculo del mes
if nMesAct = nMesNac then
begin
//Para el Dia
if nDiaAct < nDiaNac then Edad := Edad - 1;
end
else if nMesAct < nMesNac then Edad := Edad - 1;
//Devuelve el valor
Result := Edad;
end;
FecNac: Fecha de Nacimiento FecAct: Fecha Actual o fecha a la cual se quiere calcular la edad Cualquier duda pregunten, esta funcion esta 100% operativa
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
|
#5
|
|||
|
|||
|
darkbyte, no tenia intencion de infravalorar tus conocimientos . Seguro que son superiores a los mios. solamente que anoche viendo esta pregunta se me ocurrio que podria tener esa pega. Que ademas es muy comun , no solo en programacion sino en cualquier ambito de la vida, cuando calculamos el tiempo transcurrido entre dos fechas. Solo di mi punto de vista. Espero no ofender a nadie. Aqui estamos para aprender y compartir conocimientos, ya que 4 ojos ven mas que 2. Son muchas las veces que alguien de este foro me ha ayudado con algun problema, o me ha aclarado alguno duda. un
saludo.
__________________
frenadol |
|
#6
|
||||
|
||||
|
Me alegro de la aclaración hecha pues DarkByte es un asiduo coloborador del Club, por otra parte añadir que si restamos 2 fechas es decir dos variables del tipo Tdate, obtenemos días:
Código:
procedure TForm1.Button1Click(Sender: TObject);
var
dIni,dFin:Tdate;
nDias:Double;
begin
dIni:=Date - 10;
dFin:=Date;
nDias:=dFin - dIni;
ShowMessage(FormatFloat(',0.0000',n));
end;
Lo que propongo como solución sería restar los 2 fechas y dividirlas entre 365 si es que es posible es decir si el resultante fuera > 365 Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#7
|
|||
|
|||
|
Hola a todos, en este caso yo propondría utilizar una de las funciones que tenemos en los utilitarios de fechas (unit DateUtils), de forma general podemos usar el siguiente código:
Código:
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:='Han transcurrido '+FloatToStr(YearSpan(date,ModeloDatos.TblMueble.FieldByName('Añocompra').AsDateTime)+ 'años';
end;
Esta función devuelve los años con fracciones y solventa el caso de periodos menores de uno vale para el asunto señalado por Marcos para amortizaciones. Si se trabaja con otras funciones de este grupo se pudiera llegar a mostrar los años, meses y días transcurridos quedando mas elegante la presentación. Saludos |
|
#8
|
|||||
|
|||||
|
Cita:
![]() Cita:
Cita:
Cita:
, yo estoy aquí por lo mismo, aunque no puedo compartir mucho... pues no tengo el quéCita:
![]()
__________________
:) |
|
#9
|
|||
|
|||
|
Aqui encontrarás unas Units que son una maravilla
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|