Условие. Календарь. Реализовать класс календаря с возможностью получения дня
недели для даты, числа дней в i месяце,начиная с текущего,определение
высокосного года! Как это реализовать в Delphi?
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
| Egor Vladimirovich |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 35 Пол: Мужской Реальное имя: Егор Репутация: 0 |
Условие. Календарь. Реализовать класс календаря с возможностью получения дня
недели для даты, числа дней в i месяце,начиная с текущего,определение высокосного года! Как это реализовать в Delphi? |
![]() ![]() |
| Egor Vladimirovich |
Сообщение
#2
|
|
Новичок ![]() Группа: Пользователи Сообщений: 35 Пол: Мужской Реальное имя: Егор Репутация: 0 |
Подскажите в чем ошибка? Убрал все лишнее из пирмера. Пытаюсь откомпилировать в делфи,появляеться ошибка(
Код unit kalendar; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type Tdate = class d : byte; m : byte; y : integer; end; Tstyle = (grigorian, julian); function numofday(dat : tdate; style : tstyle) : longint; function dayofweek(dat : tdate; style : tstyle) : byte; function lenofmonth(month : byte; year : word; style : tstyle) : byte; function isleap(year : integer):boolean; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {***************************************************************************} function numofday; var stcor : integer; begin if style = grigorian then begin stcor := 2-dat.y div 100+dat.y div 400; if ((dat.y mod 100 = 0) and (dat.y mod 400 <> 0)) and (dat.m <= 2) then stcor := stcor + 1; end else begin stcor := 0; end; inc(dat.m); if dat.m <= 3 then begin dat.m := dat.m+12; dec(dat.y); end; numofday := (36525*dat.y) div 100 + (306*dat.m) div 10 + stcor + dat.d; end; {***************************************************************************} function dayofweek; var day : byte; buf : longint; begin buf := numofday(dat, style); buf := buf+4; day := buf mod 7; if day = 0 then day := 7; dayofweek := day; end; {***************************************************************************} function lenofmonth; var len : byte; begin case month of 2 : begin if year mod 4 = 0 then len := 29 else len := 28; if (style = grigorian) and (year mod 100 = 0) and (year mod 400 > 0) then len := 28; end; 4, 6, 9, 11 : len := 30 else len := 31; end; lenofmonth := len; end; {***************************************************************************} function isleap; begin isleap := (((year mod 4 = 0) and (year mod 100 <> 0)) or (year mod 400 = 0)); end; end. Сообщение отредактировано: volvo - |
Egor Vladimirovich Класс календаря. 15.10.2006 15:41
klem4 Посмотри здесь : FAQ: Задачи, связанные с календар… 15.10.2006 15:47
Egor Vladimirovich Спс. Там уже смотрел. Нужно реализовать класс. Соз… 15.10.2006 23:20
volvo Ну, так в чем проблема? Поменяй заголовки процедур… 15.10.2006 23:36
мисс_граффити зачем менять? просто в кучу собрать... 15.10.2006 23:56
volvo :blink: У меня в Delphi 6 все откомпилировалось н… 17.10.2006 1:42
Egor Vladimirovich Ошибка при компеляции такая "Project1.exe ra… 17.10.2006 14:29
volvo Ничего подобного... ЭТО - не ошибка компиляции, а … 17.10.2006 14:48
Atos Стоп, Egor Vladimirovich, ты пытаешься откомпилиро… 17.10.2006 14:58
Egor Vladimirovich Вроде разобрался) Спасибо! Еще один вопрос… 18.10.2006 22:26
Гость Помогите написать свойства( property ) для функций… 21.10.2006 14:28
мисс_граффити Свойства для функций - это как?
Что они делают?
Eg… 21.10.2006 15:59
Egor Vladimirovich мисс_граффити Свойства для методов например:
funct… 21.10.2006 19:14
мисс_граффити так. то ли я в терминологии не понимаю, то ли не я… 21.10.2006 20:00
Egor Vladimirovich Собственно во всем разобрался и все сделал,спасиб… 23.10.2006 22:26
Egor Vladimirovich Как реализовать процедуру поиска числа дней между … 8.11.2006 13:51
мисс_граффити решалось.
см. FAQ 8.11.2006 18:05
Egor Vladimirovich Уже посмотрел, нашел только процедуру сравнения 2 … 8.11.2006 22:23
мисс_граффити Самая первая задача.
То же самое, только наоборот:… 8.11.2006 23:09
Egor Vladimirovich
Самая первая задача.
То же самое, только наоборот… 9.11.2006 1:13
klem4 И на какую же ошибку система тебе указывает ? У ме… 9.11.2006 1:35
мисс_граффити DayInMonth[2]:=DayInMonth[2]+Byte((CurrYear mod 4… 9.11.2006 1:44
Egor Vladimirovich
DayInMonth[2]:=DayInMonth[2]+Byte((CurrYear mod … 9.11.2006 22:14
мисс_граффити if ((CurrYear mod 4) = 0) then
DayInMonth[2]:=DayI… 9.11.2006 22:22
Egor Vladimirovich 2 мисс графити
откомпилировал,тока че то не разобр… 10.11.2006 2:45
Алена :yes2:
If ((CurrYear mod 4) = 0) and
not (… 10.11.2006 3:19
Egor Vladimirovich Помогите кто нибудь мне написать процедуру Вычисле… 10.11.2006 15:48
Malice
Помогите кто нибудь мне написать процедуру Вычисл… 10.11.2006 17:04
Гость
Тебе нужна функция, переводящая дату в количество… 10.11.2006 21:19![]() ![]() |
|
Текстовая версия | 23.11.2025 6:03 |