Acrescentar um dia em uma data
Oi Pessoal,
Estou com uma dificuldade aqui para acrescentar um dia em uma data.
Descrevendo por cima o processo, eu preciso que meu sistema "ande" dia-a-dia de uma data a outra em um while e dependendo de algumas verificações ele grava algumas coisas no banco de dados.
O problema é está em "andar dia-a-dia".
Criei uma variável chamada vDiaAnalisar do tipo TDate.Essa variável recebe o primeiro dia, e no while há uma verificação para que aconteça o loop até que ela chegue na data final.Dentro do While tentei colocar assim:vDiaAnalizar := vDiaAnalizar + 1;
Ele até faz a maioria dos dias, mas algumas datas ele simplesmente pula. Por exemplo, do dia 30/08 ele pula para o dia 01/09, e "esquece" do dia 31/08.Outro exemplo: do dia 29/11 ele pula para o dia 01/12, o dia 30/11 é pulado tb...Ou seja, todo último dia do mês ele pula...
Aí tentei assim:vDataAnalizar := IncDay(vDataAnalizar, 1);
E o problema persiste.
Alguém tem idéia do pq ele está pulando o último dia dos meses?
Estou com uma dificuldade aqui para acrescentar um dia em uma data.
Descrevendo por cima o processo, eu preciso que meu sistema "ande" dia-a-dia de uma data a outra em um while e dependendo de algumas verificações ele grava algumas coisas no banco de dados.
O problema é está em "andar dia-a-dia".
Criei uma variável chamada vDiaAnalisar do tipo TDate.Essa variável recebe o primeiro dia, e no while há uma verificação para que aconteça o loop até que ela chegue na data final.Dentro do While tentei colocar assim:vDiaAnalizar := vDiaAnalizar + 1;
Ele até faz a maioria dos dias, mas algumas datas ele simplesmente pula. Por exemplo, do dia 30/08 ele pula para o dia 01/09, e "esquece" do dia 31/08.Outro exemplo: do dia 29/11 ele pula para o dia 01/12, o dia 30/11 é pulado tb...Ou seja, todo último dia do mês ele pula...
Aí tentei assim:vDataAnalizar := IncDay(vDataAnalizar, 1);
E o problema persiste.
Alguém tem idéia do pq ele está pulando o último dia dos meses?
André Maretti
Curtidas 0
Respostas
Frost
06/05/2011
Boa Tarde
Tente assim
vDataAnalizar := IncDay(StrToDate(vDataAnalizar), 1);
GOSTEI 0
André Maretti
06/05/2011
Kra...
Não deu certo, pq a variável vDataAnalizar já é do tipo TDate.
Aí deu erro na conversão de StrToDate.
Não deu certo, pq a variável vDataAnalizar já é do tipo TDate.
Aí deu erro na conversão de StrToDate.
GOSTEI 0
Rafael Mattos
06/05/2011
vDataAnalizar := IncDay(vDataAnalizar, 1);
se ela ja é do tipo date é só vc remover o strtodate
se ela ja é do tipo date é só vc remover o strtodate
GOSTEI 0
José
06/05/2011
Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
GOSTEI 0