Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diego Gonçalves

[Resolvido] Mostrar primeiro e último dia do mês timepicker

Recommended Posts

Fala galera Expert....

 

Estou precisando de uma ajuda, possuo dois timepicker em um form, e tenho colocar no evento onshow do form o primeiro dia do mês em um timepicker e, no outro, colocar o último dia do mês, mas sempre com base no mês vigente, exemplo:

 

timepickerInicio

01/04/2009

 

timepickerFim

30/04/2009

 

Caso alguém possa me ajudar, eu agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Atravéz do seguinte código eu conseguir passar o último dia do mês para o timepicker final:

 

function UltimoDiaMes(Mdt: TDateTime) : TDateTime;

//retorna o ultimo dia o mes, de uma data fornecida

var

  ano, mes, dia : word;

  mDtTemp : TDateTime;

begin

  Decodedate(mDt, ano, mes, dia);

  mDtTemp := (mDt - dia) + 33;

  Decodedate(mDtTemp, ano, mes, dia);

  Result := mDtTemp - dia;

end;

//e no Onshow do form crio uma variável que receba a função 

var
udmes: Tdate;
begin
udMes :=  UltimoDiaMes(now);//recebe a função em cima do Mês vigente.
DT_final.Date := udMes;//passa a variável já com a data final para o timePiker dt_final na propriedade "date"
...............

 

Agora eu só preciso de fazer o mesmo mas com o primeiro dia do Mês , se alguém puder me ajudar eu agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É mais simples que o fim do mês... com o decode, você extrai o mês e o ano... ai é só jogar o 01/mes/ano para formar a data.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

É mais simples que o fim do mês... com o decode, você extrai o mês e o ano... ai é só jogar o 01/mes/ano para formar a data.

 

[]'s

Chrnos, mt obrigado mas eu não consegui entender, eu jogaria o valor 01 diretamente na variável dia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo rápido e simples... vai pegar o dia de hoje e transformar no dia 01/04/2009 no showmessage:

 

procedure TForm1.Button1Click(Sender: TObject);
var
  Present: TDateTime;
  Year, Month, Day, Hour: Word;
 begin
  Present:= Now;
  DecodeDate(Present, Year, Month, Day);
  Showmessage(DateToStr(StrToDate('01/'+ IntToStr(Month) + '/' + IntToStr(Year))));
end;

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae Chrnos valeu kra, graças a Deus consegui, porém de uma forma diferente.

 

Segue código:

 

 

function PrimeirodiaMes: TDateTime;
Var
   Dia, Mes, Ano: Word;
begin
	 DecodeDate(Date, Ano, Mes, Dia);
	 Result := Date - Dia + 1;
end;

{$R *.dfm}

procedure TForm1.varShow(Sender: TObject);


begin
	 DateTimePicker1.Date  := Date;
	 DateTimePicker1.Date := PrimeirodiaMes;
end;

 

Estou fazendo um controle de caixa, e necessitaria de que no onshow do form ele me mostrasse em um dbgrid todos os lançamentos referentes ao mês vigente, agora que eu já consegui exibir a primeira e última data do mês eu consigo resolver essa questão.

 

Brigadão mesmo por ter me ajudado.

 

http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.