Fellipe Henrique wrote:
> Olá Marcos, obrigado pela resposta, o problema, é que nem sempre será 30
> dias... as vezes o usuário pode por 15 dias...
> 
> fiz este pequeno exemplo pra mostrar o problema:
> 
> var
>   i:integer;
>   LastDate: TDate;
> begin
>   LastDate := Date;
>  for i := 1 to 100 do
>  begin
>  ListBox1.Items.Add(FormatDateTime('dd/mm/yyyy', (LastDate)));
>  LastDate := (LastDate + 30);
>  end;
> 
> Repare nas datas como elas ficam totalmente malucas.

Óbvio. Um ano, 12 meses, tem 30*12 + 5,25 dias. Estes 5,25 é que estão 
te perturbando a cada 12 meses. Use alguma lógica para equilibrar, tal 
como somar 5 dias a cada 360 dias, e mais 1 dia a cada 4 anos, ou então 
1 dia a mais a cada 60 dias e um a menos a cada ano.

--
Joao Morais

Responder a