Ver Mensaje Individual
  #4  
Antiguo 18-05-2012
Pedro-Juan Pedro-Juan is offline
Miembro
 
Registrado: ago 2006
Ubicación: Barcelona - España
Posts: 315
Reputación: 18
Pedro-Juan Va por buen camino
Hola.

Yo utilizo esta función:

Código Delphi [-]
//Para restar fechas sólo hay que poner en los parámetros números negativos

function Sumar_RestarAFecha(Fecha:TDateTime; Anos,Meses,Dias:Integer):TDateTime;
var dia1,mes1,ano1: integer;
    dia2,mes2,ano2: word;
begin
DecodeDate(Fecha, ano2, mes2, dia2);
ano1 := (ano2 + Anos);
mes1 := (mes2 + Meses - 1);
dia1 := (dia2 + Dias - 1);

  if (mes1 > 0) then begin
      ano1 := (ano1 + (mes1 div 12));
      mes1 := ((mes1 mod 12) + 1);
  end
  else if (mes1 < 0) then begin
      mes1 := (- mes1);
      ano1 := (ano1 - (mes1 div 12) -1);
      mes1 := (13 - (mes1 mod 12));
  end
  else mes1 := 1;

result := EncodeDate(ano1,mes1,1) + dia1;
end;

Ejemplo para tu caso:

Código Delphi [-]
Form.Label1.Caption := DateToStr(Sumar_RestarAFecha(Date,0,0,75));
dFecha := Sumar_RestarAFecha(Date,0,0,75);

//Restar
Form.Label1.Caption := DateToStr(Sumar_RestarAFecha(Date,0,0,-75));
dFecha := Sumar_RestarAFecha(Date,0,0,-75);

Espero que te sirva.

Un saludo.
__________________
Este mundo es el camino para el otro, que es morada sin cesar. Mas cumple tener buen tino para andar esta jornada sin errar. (J. Manrique)
Responder Con Cita