Como pegar os dias da semana?

07/09/2004

2

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


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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar