Como pegar os dias da semana?

07/09/2004

0

Boa tarde a todos!

Pessoal, como posso saber, e armazenar em uma variável por exemplo todos os dias do mês que representam as terças feiras daquele mês?
Tenho que usar uma array para armazenar os dias?

Valeu!


Angelo


Angelo

Angelo

Responder

Posts

07/09/2004

Vinicius2k

Colega,

Construí este código... acho q está longe de ser ´ideal´, mas pode lhe ajudar a construir um melhorado...
{ Unit do Delphi com inúmeras funções para data e hora }
uses
  DateUtils;

{ Declarando o Array... creio que 5 elementos são suficientes, não me recordo
  se é possível que um mes tenha o mesmo dia da semana 6 vezes...}
var
  ArrayDeTercas: Array[0..5] of TDateTime;

{ A Procedure que irá acumular as terças... }
procedure GuardaTercas(Mes, Ano: Integer);
var i, Dia: Byte;
begin
  { "Zerando" o Array...}
  for i:= 0 to 5 do ArrayDeTercas[i]:= 0;
  { Guardando as datas }
  i:= 0;
  for Dia:= 1 to 31 do
  begin
    if IsValidDate(Ano, Mes, Dia) then
      if DayOfTheWeek(EncodeDate(Ano, Mes, Dia)) = 2 then
      begin
        ArrayDeTercas[i]:= EncodeDate(Ano, Mes, Dia);
        i:= i + 1;
      end;
   end;
end;

{ Exemplo de uso... }
procedure TForm1.Button1Click(Sender: TObject);
var i: Byte;
begin
  GuardaTercas(09,2004);
  Memo1.Clear;
  for i:= 0 to Length(ArrayDeTercas) - 1 do
    if ArrayDeTercas[i] <> StrToDate(´30/12/1899´) then
      Memo1.Lines.Add(DateToStr(ArrayDeTercas[i]));
end;


Espero ter ajudado...
T+


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar