Задача определение дня+квартала+недели
Добавлено: 16 окт 2007, 17:17
Помогите кто знает программу на Turbo Pascale Определите дату следующего дня+квартал+день недели!Кто знает,кому не трудно,реально надо!Заранее спасибо!
В библиотеках Turbo/Object Professional есть модуль TpDate (OpDate). Там для несложно делается.zAra писал(а):Помогите кто знает программу на Turbo Pascale Определите дату следующего дня+квартал+день недели!Кто знает,кому не трудно,реально надо!Заранее спасибо!
Код: Выделить всё
function IsLeapYear(Year : Integer) : Boolean;
{-Return True if Year is a leap year}
begin
IsLeapYear := (Year mod 4 = 0) and (Year mod 4000 <> 0) and
((Year mod 100 <> 0) or (Year mod 400 = 0));
end;
function DaysInMonth(Month, Year : Integer) : Integer;
{-Return the number of days in the specified month of a given year}
begin
if Word(Year) < 100 then
Inc(Year, 1900);
case Month of
1, 3, 5, 7, 8, 10, 12 :
DaysInMonth := 31;
4, 6, 9, 11 :
DaysInMonth := 30;
2 :
DaysInMonth := 28+Ord(IsLeapYear(Year));
else
DaysInMonth := 0;
end;
end;
Код: Выделить всё
function DayOfWeek(Day, Month, Year: Integer) : Integer;
var
century, yr, dw: Integer;
begin
if Month < 3 then
begin
Inc(Month, 10);
Dec(Year);
end
else
Dec(Month, 2);
century := Year div 100;
yr := year mod 100;
dw := (((26 * month - 2) div 10) + day + yr + (yr div 4) +
(century div 4) - (2 * century)) mod 7;
if dw < 0 then DayOfWeek := dw + 7
else DayOfWeek := dw;
if (dw = 0) or ((dw+7)=0) then DayOfWeek:=7
end;