Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-02-2004
jrcosta75 jrcosta75 is offline
Miembro
 
Registrado: feb 2004
Ubicación: Argentina
Posts: 13
Poder: 0
jrcosta75 Va por buen camino
Talking Calculo de anio

CADETILL UTILICE EL SIGUIENTE CODIGO :

procedure TModeloDatos.TblMuebleCalcFields(DataSet: TDataSet);
Var

D, M, AIni, AFin : Word;
Begin
DecodeDate(AFin, M, D, Date);
AIni:=ModeloDatos.TblMueble.FieldValues['Añocompra'];
ShowMessage('Diferencia de años : ' + IntToStr(AFin - AIni));
end;



PARA CALCULAR LOS ANOS TRANSCURRIDOS ENTRE EL AÑO DE COMPRA DE UN PRODUCTO Y EL ACTUAL Y ME DA EL SIGUIENTE ERROR:

[Error] ModDat.pas(104): Types of actual and formal var parameters must be identical
[Fatal Error] CStock.dpr(15): Could not compile used unit 'ModDat.pas'


Y NO SE COMO ARREGLARLO
Saludos, jrcosta75
__________________
Cita:
El servir es mejor que el recibir
Responder Con Cita
  #2  
Antiguo 20-02-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 25
DarkByte Va por buen camino
Código:
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('07/09/1969'));
end;
Te da la edad en años. Ese procedure está en el truco 628 de trucomanía
__________________
:)
Responder Con Cita
  #3  
Antiguo 20-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 27
__cadetill Va por buen camino
se supone que

Código:
ModeloDatos.TblMueble.FieldValues['Añocompra']
es de tipo DateTime, no?
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;
Responder Con Cita
  #4  
Antiguo 20-02-2004
maruenda maruenda is offline
Miembro
 
Registrado: oct 2003
Ubicación: elche
Posts: 173
Poder: 23
maruenda Va por buen camino
Thumbs down pregunta

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
Responder Con Cita
  #5  
Antiguo 21-02-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 25
DarkByte Va por buen camino
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
__________________
:)
Responder Con Cita
  #6  
Antiguo 21-02-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 28
eduarcol Va por buen camino
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;
para el qiue la necesite es unafuncion que devuelve la edad exacta en años tomando en cuenta hasta el dia.

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
Responder Con Cita
  #7  
Antiguo 21-02-2004
maruenda maruenda is offline
Miembro
 
Registrado: oct 2003
Ubicación: elche
Posts: 173
Poder: 23
maruenda Va por buen camino
Cool sin animo de ofender

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
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:35:26.


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