Sim, esta é outra forma, mas se olhar como a função IncDay é
implementada, verá que ela faz exatamente um data_informada +
valor_informado.

[]
Andrei

Em 21/06/07, Ricardo César Cardoso<[EMAIL PROTECTED]> escreveu:
> 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?

Responder a