Array
(
)

Como pegar os dias da semana?

Angelo
   - 07 set 2004

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


Vinicius2k
   - 07 set 2004

Colega,

Construí este código... acho q está longe de ser ´ideal´, mas pode lhe ajudar a construir um melhorado...
#Código

{ 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+