Mais fácil ainda:

Declare a unit "DateUtils" na seção "uses" e use a função "IncDay" como no 
exemplo:

{...}
Uses Date;
{...}
Var
  Data : TDate;

Begin
  Data := IncDay(Date, 7);
End;
{...}

Pronto! E nem precisou fazer muito malabarismo.

Sds,
Ricardo.

Daniel <[EMAIL PROTECTED]> escreveu:                                  
Velhos....incrementar dias...tu vai ter que fazer pelo menos tres funções 
 A ordem das funções não altera o resultado... 
 
 //incrementar dias  
 Function TFrmTelaPrincipal.IncDias(Data: TDate; Valor: Integer): TDate; 
 Var 
   A, M, D: Word; 
 Begin 
   DecodeDate(Data, A,M,D); 
   D:=D+Valor; 
   If D > DiasNoMes(Data) then 
   Begin 
     D:= 1; 
     M:= M+1; 
   End; 
   If M = 13 then 
   Begin 
     M:= 1; 
     A:= A+1; 
   End; 
 
   Result := strToDate(FormatFloat('00/',D)+ 
     FormatFloat('00/',M)+IntToStr(A)); 
 End; 
 
 //agora VC precisa saber qual o mês, ja que temos meses de 30, 31 28 e 29
 dias 
 Function TFrmTelaPrincipal.DiasnoMes(Data: TDate): Integer; 
 Var 
   Y, M, D:Word; 
   Dias: Integer; 
 Begin 
   Dias := 0; 
   DecodeDate(data, Y,M,D); 
   //Especificando o número de dias em cada mês 
   If M = 1 then 
     Dias := 31; 
   If M = 2 then 
 //  chama a funtcion AnoBis para verificar anos bissestos 
   Begin 
     If Anobis(Y) then 
       Dias := 29 
     Else 
       Dias := 28; 
   End; 
   Case M of 
     3: Dias := 31; 
     4: Dias := 30; 
     5: Dias := 31; 
     6: Dias := 30; 
     7: Dias := 31; 
     8: Dias := 31; 
     9: Dias := 30; 
     10: Dias := 31; 
     11: Dias := 30; 
     12: Dias := 31; 
   End; 
   Result := Dias; 
 End; 
 //voce deve saber que o mes de fevereiro...possui 28 ou 29 dias a depender
 do ano (bissesto ou não), portanto, precisa-se verificar o ano tbm 
 Function TFrmTelaPrincipal.AnoBis(Ano: Integer): Boolean; 
 Var 
   Resto : Integer; 
 Begin 
   Resto := Ano mod 4;//obtendo o resto da divisão do ano por 4 
   If Resto = 0 then 
     Result := True//Bissexto 
   Else 
     Result := False;// Não Bissexto 
 End; 
 
 
 Melhor que isso, so pescar de bomba...rsrs 
 
    
 
 Administrador - Daniel Lima Dantas (CRA/BA - 14.390) 
 Av. Presidente Dutra, 3300 - 1º Andar 
 Sala 03 - Feira de Santana -BA 
 Fone - 75-3488-1439 / 3625-9322  / www.admsystem.inf.net 
 -------Mensagem original------- 
   
 De: rzzanatta 
 Data: 21/06/2007 15:09:00 
 Para: delphi-br@yahoogrupos.com.br 
 Assunto: [delphi-br] Data no delphi 
   
 Olá gostaria de saber como faço pra adicionar 7 dias a partir da data  
 de hoje por ex.  
 
 var  
 data : tdatetime;  
 begin  
 
 data := data + 7;  
 
 end;  
 
 desse jeito nao funciona, como faço? 
 
 
   
 
 __________ Información de NOD32, revisión 2342 (20070621) __________ 
 
 Este mensaje ha sido analizado con NOD32 antivirus system 
 http://www.nod32.com 
 
  
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 
     
             _



       
---------------------------------
Novo Yahoo! Cadê? - Experimente uma nova busca. 

[As partes desta mensagem que não continham texto foram removidas]

Responder a