quarta-feira, 8 de abril de 2009

Dias da semana presentes no mês

Bom, pelo assunto da postagem fica meio estranho de entender, mas pense em uma rotina que diga todos os dias de determinado mês que são segunda-feira. Se tiver um calendário ao lado é moleza, mas e se quiser mostrar a rotina no Delphi?

Bom, pensando nisso que resolvi implementar um rotina que faça essa avaliação e me retorne toda a lista de dias com determinado dia da semana presentes no mês, e isso é bem simples de fazer. Veja o código a seguir que se encontra comentado de acordo com a ação que está acontecendo para assim facilitar o entendimento.
procedure TForm1.Button1Click(Sender: TObject);
var
DiasMes : Integer;
i : integer;
DiaSemana : Integer;{1 Dom, 2 Seg, 3 Ter, 4 Qua, 5 Qui, 6 Sex, 7 Sab}
{Use a uses DateUtils}
Dias : String;
begin
DiasMes := DaysInMonth(Date);//Pega a quantidade de dias do mês de acordo com a data
DiaSemana := 2;//Defino dia semana para seg. feira
for I := 1 to DiasMes do//Percorre todos os dias do mês
begin
{Verifica os dias que são segunda-feira e adiciona a data na lista}
if DayOfWeek(StrToDate(IntToStr(i)+FormatDateTime('/MM/yyyy',Date))) = DiaSemana then
Dias := Dias + IntToStr(i)+FormatDateTime('/MM/yyyy',Date) + #13;
end;
ShowMessage(Dias);//Mostra a lista na tela
end;

Pronto, agora a partir da data atual ou poderá também adicionar um campo que solicite ao data ao usuário, você poderá saber quantas segundas-feiras há no mês, ou qualquer outro dia da semana. Abraço e até o próximo post.

Um comentário:

Nick disse...

sou dono do http://orkutwakn.blogspot.com , um site de codigos e truques da internet.Hj tava fazendo um projeto em delphi ( alguns familiares meus usam o delphi\dae eu tenho em ksa) e axei infos mto uteis no seu blog, qria fazer um navegador.Proponho uma pareceria.No caso, me add no msn:pedrovidor@hotmail.com Flws ae