У меня есть программа, которая делает примерно то, что вы хотите. Она сообщает для даты текущую неделю и день недели. Вам необходимо лишь реализовать вычисление предела для дат недели. Кроме того, формат в этом коде для дат задан в виде "06/25/1996".
Вы должны создать форму с именем "Forma", компонентом TEdit с именем "Edit1", четырьмя метками и кнопкой с именем "GetWeekBtn". Убедитесь в том, что обработчиком события формы OnCreate является метод FormCreate.
Function TForma1.HowManyDays(pYear,pMonth,pDay:word):integer; var Sum:integer;
pYearAux:word;begin
Sum:=0; if pMonth>1 then Sum:=Sum+31; if pMonth>2 then Sum:=Sum+28; if pMonth>3 then Sum:=Sum+31; if pMonth>4 then Sum:=Sum+30; if pMonth>5 then Sum:=Sum+31; if pMonth>6 then Sum:=Sum+30; if pMonth>7 then Sum:=Sum+31; if pMonth>8 then Sum:=Sum+31; if pMonth>9 then Sum:=Sum+30; if pMonth>10 then Sum:=Sum+31; if pMonth>11 then Sum:=Sum+30;
Sum:=Sum + pDay; if ((pYear - (pYear div 4)*4)=3D0) and (pMonth>2)then inc(Sum);
HowManyDays:=Sum;end; { HowManyDays }
procedure TForma1.GetWeekBtnClick(Sender: TObject); var