data inicial e data final de um periodo....

06/01/2006

0

olá,

gostaria de saber como faço para pegar uma data inicial e final de um periodo...exemplo:

Data de hoje : 05/01/2006

eu gostaria de pegar pelo date() a datainicial := 01/01/2006 e a datafinal 31/01/2006

valeu galera.


Cavalcanti.fabio

Cavalcanti.fabio

Responder

Posts

06/01/2006

Caninha51

Usa a unit DateUtils

var
  DataIni, DataFin: TDateTime;
begin
  DataIni := EncodeDate(YearOf(Date),MonthOf(Date),1);// Jah q todo mês começa no dia 1 
  DataFin := EncodeDate(YearOf(Date),MonthOf(Date),DaysInMonth(Date)); // DaysInMonth retorna a quantidade de dias no mes passado como parametro
  Showmessage(Format(´Inicio: ¬s - Fim: ¬s´,[DateToStr(DataIni),DateToStr(DataFin)]))
end;


flw


Responder

06/01/2006

Pro-luck

Num form coloque dois componentes do tipo DateTimePicker:
Coloque dois botões, um para o OK e outro para o Cancelar.
No evento OnClick do botão OK digite o seguinte:

Var
Inicio: String;
Final: String;
begin
If DataF.Date < DataI.Date then
begin
ShowMessage(´Intervalo de datas inválido, observe que a data inicial é maior que a data final!!!´);
DataF.Date := DataI.Date
end
Else
begin
Inicio := DateToStr(DataI.Date);
Final := DateToStr(DataF.Date);
dm_.NomeDaTabela.Close;
dm_.NomeDaTabela.SQL.Clear;
dm_.NomeDaTabela.SQL.Text := (´Select * from ContasPagar WHERE Vencimento >= :pInicial and Vencimento <= :pFinal ORDER BY Vencimento´);
dm_.NomeDaTabela.ParamByName(´pInicial´).AsDateTime := StrToDate(Inicio);
dm_.NomeDaTabela.ParamByName(´pFinal´).AsDateTime := StrToDate(Final);
dm_.NomeDaTabela.Prepare;
dm_.NomeDaTabela.Open;
end;
Rel_ContasPagarVenc_ := TRel_ContasPagarVenc_.Create(Application);
Rel_ContasPagarVenc_.QrpContasPagarVenc.Preview;
end;


Vc deverá criar também o relatório onde serão exibidos os dados que vc pediu.
Neste exemplo, eu utilizei o Rel_ContasPagarVenc_.

Espero ter ajudado...

Té+.


Responder

06/01/2006

Techsoft

Eu uso o seguinte:

Com duas variáveis ou o q for, datetimepicker, tantofaz... mas eh o seguinte:

dataini := strtodate(FormatDateTime(´01/MM/yyyy´,date));
datafim := incmonth(dataini,1)-1;

ou seja, faço uma formatação na data de hoje, fixando o dia em 01, após aplico a função incmonth incrementando em 1 mês que automaticamente leva esta data exatamente um mês após e então dimuo 1 dia.


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar