Funcao que retorna a data atual - 1 mes e ano 30 dias

19/09/2010

Ola wesley como faço para fazer uma funcao simples com minino de linhas possiveis que me retorno e mesmo dia do mes anterior exemplo hoje 19/09/2010   Um mes antero 19/08/2010 dois meses atraz 19/07/2010 trez meses atraz 19/05/2010   a funcao tem que saber qual o mes e de 30 e 31 dias      Close;
          Params[0].AsString := FormatDateTime('YYYY/MM/DD 00:00:00',Date -30) ;
          Params[1].AsString := FormatDateTime('YYYY/MM/DD 23:59:59',Date - 30) ;
          Open;
          lblDiaMesAnterior.Caption := IntToStr(DMBUSCA.cdsCorridasDatas.RecordCount);
Carlos Faria

Carlos Faria

Curtidas 0

Respostas

Wesley Yamazack

Wesley Yamazack

19/09/2010

Olá Carlos,

Existe uma função dentro de SysUtils. onde você pode adicionar um mês em uma determinada data, veja como pode ser feito.


function TForm4.AddMonth(xData: TDate): String;
begin
  IncMonth(xData);
  Result := DateToStr(xData);
end;

{Como usar}
procedure TForm4.BitBtn1Click(Sender: TObject);
begin
   Edit1.Text := AddMonth(1,now);
end;

Um abraço

Wesley Y
GOSTEI 0
Carlos Faria

Carlos Faria

19/09/2010

Ola Wesley Para fazer como demonstrei abaixo o codigo nao funciona ! e nao compila !
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

19/09/2010

Carlos, você reparou que tem um TForm4, veja senão é isso que esta errado.

Se puder você pode mandar um exemplo para vermos o erro ?

Att,

Wesley Y
GOSTEI 0
Carlos Faria

Carlos Faria

19/09/2010

Wesly so para ficar mais claro a funcao precisa por exemplo me retornar o dia 20/08/2010 entendeu se fosse date - 30 daria 21/08/2010 pois o mes anterior possui 31 dias
GOSTEI 0
Carlos Faria

Carlos Faria

19/09/2010

Ola Wesley Depois de muita pesquisa acho que consegui     // dia do mes anterior
          Close;
          Params[0].AsString := FormatDateTime('YYYY/MM/DD 00:00:00', StartOfTheDay( IncMonth(Now, -1) ));
          Params[1].AsString := FormatDateTime('YYYY/MM/DD 23:59:59',StartOfTheDay( IncMonth(Now, -1  )));           Open;      este codigo funciona ele trabalha como te falei , se estiver certo aqui pode fechar o chamado ! se nao comente ok att  
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

19/09/2010

Carlos,

usei aqui esta implementação, e esta funcionando sim.
Um abraço.

Wesley Y

GOSTEI 0
Carlos Faria

Carlos Faria

19/09/2010

Entao meu caro mais um chamado fechado
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

19/09/2010

Blz meu amigo,

Forte abraço,

Wesley Y
GOSTEI 0
POSTAR