Il est gâté Bir-ntic !
et c'est pas fini ^^
...
uses DateUtils;
...
{
********************************************************************************
********************************************************************************
procedure GetDaysOfMonth : retrouve tous les mêmes jours d'un mois donné
Year: l'année à tester
Month: le mois
Day: le jour de la semaine recherché de 1 = Dimanche à 7 = Samedi
Days: Contient le résultat
********************************************************************************
********************************************************************************
}
procedure GetDaysOfMonth(Year, Month, DayOf: Word; const Days: TStrings);
var
T: TDateTime;
Day, MemMonth: Word;
begin
Day := 1;
T := StrTodatetime(Format('%d/%d/%d', [Day, Month, Year]));
while DayOfWeek(T) <> DayOf do T := IncDay(T);
DecodeDate(T, Year, Month, Day);
MemMonth := Month;
Days.BeginUpdate;
try
while IsValidDate(Year, Month, Day) and (MemMonth = Month) do begin
Days.Add(FormatDateTime('DDDD dd mmmm yyyy', T));
T := IncDay(T, 7);
DecodeDate(T, Year, Month, Day);
end;
finally
Days.EndUpdate;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear;
GetDaysOfMonth(2017, 12, 1, Memo1.Lines);
end;
l'exemple donne tous les Dimanches du mois de Décembre 2017
si tu veux tous les Jeudi du mois de Juin :
GetDaysOfMonth(2017, 6, 5, Memo1.Lines);
voilà ça devrait faire l'affaire ^^
ps: la fonction IsValidDate n'est pas forcément utile mais comme ça ne coute quasiment rien je l'ai laissé ;)
Bon sur ce ... j'ai du pain sur la planche ...
@Dubois77 j'ai vu ton code et j'ai une alternative pour toi ... je j'espère pouvoir poster ce weekend encore ;)