Funcao que retorna a data atual - 1 mes e ano 30 dias
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);
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
Curtidas 0
Respostas
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
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
19/09/2010
Ola Wesley
Para fazer como demonstrei abaixo o codigo nao funciona ! e nao compila !
GOSTEI 0
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
Se puder você pode mandar um exemplo para vermos o erro ?
Att,
Wesley Y
GOSTEI 0
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
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
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
19/09/2010
Carlos,
usei aqui esta implementação, e esta funcionando sim.
Um abraço.
Wesley Y
usei aqui esta implementação, e esta funcionando sim.
Um abraço.
Wesley Y
GOSTEI 0
Carlos Faria
19/09/2010
Entao meu caro mais um chamado fechado
GOSTEI 0
Wesley Yamazack
19/09/2010
Blz meu amigo,
Forte abraço,
Wesley Y
Forte abraço,
Wesley Y
GOSTEI 0