Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
| Egor Vladimirovich |
15.10.2006 11:41
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 35 Пол: Мужской Реальное имя: Егор Репутация: 0 |
Условие. Календарь. Реализовать класс календаря с возможностью получения дня
недели для даты, числа дней в i месяце,начиная с текущего,определение высокосного года! Как это реализовать в Delphi? |
![]() ![]() |
| Egor Vladimirovich |
16.10.2006 20:20
Сообщение
#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 - 16.10.2006 21:41 |
Egor Vladimirovich Класс календаря. 15.10.2006 11:41
klem4 Посмотри здесь : FAQ: Задачи, связанные с календар... 15.10.2006 11:47
Egor Vladimirovich Спс. Там уже смотрел. Нужно реализовать класс. Соз... 15.10.2006 19:20
volvo Ну, так в чем проблема? Поменяй заголовки процедур... 15.10.2006 19:36
мисс_граффити зачем менять? просто в кучу собрать... 15.10.2006 19:56
volvo :blink: У меня в Delphi 6 все откомпилировалось н... 16.10.2006 21:42
Egor Vladimirovich Ошибка при компеляции такая "Project1.exe ra... 17.10.2006 10:29
volvo Ничего подобного... ЭТО - не ошибка компиляции, а ... 17.10.2006 10:48
Atos Стоп, Egor Vladimirovich, ты пытаешься откомпилиро... 17.10.2006 10:58
Egor Vladimirovich Вроде разобрался) Спасибо! Еще один вопрос... 18.10.2006 18:26
Гость Помогите написать свойства( property ) для функций... 21.10.2006 10:28
мисс_граффити Свойства для функций - это как?
Что они делают?
Eg... 21.10.2006 11:59
Egor Vladimirovich мисс_граффити Свойства для методов например:
funct... 21.10.2006 15:14
мисс_граффити так. то ли я в терминологии не понимаю, то ли не я... 21.10.2006 16:00
Egor Vladimirovich Собственно во всем разобрался и все сделал,спасиб... 23.10.2006 18:26
Egor Vladimirovich Как реализовать процедуру поиска числа дней между ... 8.11.2006 9:51
мисс_граффити решалось.
см. FAQ 8.11.2006 14:05
Egor Vladimirovich Уже посмотрел, нашел только процедуру сравнения 2 ... 8.11.2006 18:23
мисс_граффити Самая первая задача.
То же самое, только наоборот:... 8.11.2006 19:09
Egor Vladimirovich
Самая первая задача.
То же самое, только наоборот... 8.11.2006 21:13
klem4 И на какую же ошибку система тебе указывает ? У ме... 8.11.2006 21:35
мисс_граффити DayInMonth[2]:=DayInMonth[2]+Byte((CurrYear mod 4... 8.11.2006 21:44
Egor Vladimirovich
DayInMonth[2]:=DayInMonth[2]+Byte((CurrYear mod ... 9.11.2006 18:14
мисс_граффити if ((CurrYear mod 4) = 0) then
DayInMonth[2]:=DayI... 9.11.2006 18:22
Egor Vladimirovich 2 мисс графити
откомпилировал,тока че то не разобр... 9.11.2006 22:45
Алена :yes2:
If ((CurrYear mod 4) = 0) and
not (... 9.11.2006 23:19
Egor Vladimirovich Помогите кто нибудь мне написать процедуру Вычисле... 10.11.2006 11:48
Malice
Помогите кто нибудь мне написать процедуру Вычисл... 10.11.2006 13:04
Гость
Тебе нужна функция, переводящая дату в количество... 10.11.2006 17:19![]() ![]() |
|
Текстовая версия | 8.12.2025 14:28 |