Условие. Календарь. Реализовать класс календаря с возможностью получения дня
недели для даты, числа дней в i месяце,начиная с текущего,определение
высокосного года! Как это реализовать в Delphi?
![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
![]() ![]() |
![]() |
Egor Vladimirovich |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 35 Пол: Мужской Реальное имя: Егор Репутация: ![]() ![]() ![]() |
Условие. Календарь. Реализовать класс календаря с возможностью получения дня
недели для даты, числа дней в i месяце,начиная с текущего,определение высокосного года! Как это реализовать в Delphi? |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Посмотри здесь : FAQ: Задачи, связанные с календарем
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Egor Vladimirovich |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 35 Пол: Мужской Реальное имя: Егор Репутация: ![]() ![]() ![]() |
Спс. Там уже смотрел. Нужно реализовать класс. Создать свой модуль)
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Ну, так в чем проблема? Поменяй заголовки процедур функций на методы, и сделай класс...
|
мисс_граффити |
![]()
Сообщение
#5
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
зачем менять? просто в кучу собрать...
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Egor Vladimirovich |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 35 Пол: Мужской Реальное имя: Егор Репутация: ![]() ![]() ![]() |
Подскажите в чем ошибка? Убрал все лишнее из пирмера. Пытаюсь откомпилировать в делфи,появляеться ошибка(
Код 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 - |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Цитата Пытаюсь откомпилировать в делфи,появляеться ошибка( ![]() |
Egor Vladimirovich |
![]()
Сообщение
#8
|
Новичок ![]() Группа: Пользователи Сообщений: 35 Пол: Мужской Реальное имя: Егор Репутация: ![]() ![]() ![]() |
Ошибка при компеляции такая "Project1.exe raised exception class EresNotFound with message 'Resource Tform1 not found".Prossec Stoped.Use step or run cont...."
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Ничего подобного... ЭТО - не ошибка компиляции, а ошибка времени выполнения. Ты запустил свою программу, и она выдала тебе это исключение...
Ничего не могу сказать, ибо не знаю, где именно у тебя возникает исключение. Может, в твоем коде? Ни одного слова связанного с модулем Kalendar я не нашел... |
Atos |
![]()
Сообщение
#10
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Стоп, Egor Vladimirovich, ты пытаешься откомпилировать один модуль, без проекта? Тогда понятно, почему ошибка - форма-то не создана.
|
Egor Vladimirovich |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 35 Пол: Мужской Реальное имя: Егор Репутация: ![]() ![]() ![]() |
Вроде разобрался) Спасибо! Еще один вопрос! Почему при работе выдает ошибку в это куске программы :
~~~~~~~~~~~~~~~~~~~~~ dat.d:=strtoint(edit5.text); dat.m:=strtoint(edit6.text); dat.y:=strtoint(edit7.text); ~~~~~~~~~~~~~~~~~~~~~ Но прекрасно работает если присваивать значания самому: Например: ~~~~~~~~~~~~~~~~~~~~~ dat.d:=18; dat.m:=10; dat.y:=2006; ~~~~~~~~~~~~~~~~~~~~~ Описание Tdate: ~~~~~~~~~~~~~~~~~~~~~ type Tdate = class d : byte; m : byte; y : integer; end; ~~~~~~~~~~~~~~~~~~~~~ |
Гость |
![]()
Сообщение
#12
|
Гость ![]() |
Помогите написать свойства( property ) для функций:
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; |
мисс_граффити |
![]()
Сообщение
#13
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Свойства для функций - это как?
Что они делают? Egor Vladimirovich, КАКУЮ ошибку? Во время РАБОТЫ или при компиляции? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Egor Vladimirovich |
![]()
Сообщение
#14
|
Новичок ![]() Группа: Пользователи Сообщений: 35 Пол: Мужской Реальное имя: Егор Репутация: ![]() ![]() ![]() |
мисс_граффити Свойства для методов например:
function numofday(dat : tdate; style : tstyle) : longint; а свойство будет выглядеть так property d:tdate; read d write d;( или как то так,особо разбираюсь) С предъидущей ошибкой я разобрался... спс |
мисс_граффити |
![]()
Сообщение
#15
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
так. то ли я в терминологии не понимаю, то ли не я.....
свойства - грубо говоря, это механизмы доступа к полям. так? свойства отличаются от полей тем, что связаны с некоторыми действиями. Как минимум - просто записью и считыванием из поля. При желании - проверкой корректности ввода и дополнительными фишками (ну например: для класса "фигура" свойство "цвет" может обеспечивать перерисовку на экране). что может ДЕЛАТЬ (не как выглядеть, а что делать? зачем оно нужно??) свойство для функции (или метода, не суть важно). -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Egor Vladimirovich |
![]() ![]()
Сообщение
#16
|
Новичок ![]() Группа: Пользователи Сообщений: 35 Пол: Мужской Реальное имя: Егор Репутация: ![]() ![]() ![]() |
Собственно во всем разобрался и все сделал,спасибо за помощь!!! Кто хочет может скачать и посмотреть exe файл!!! Пишите свои комментарии!!!
![]() ![]() ![]() ![]() ![]() ![]() Прикрепленные файлы ![]() ![]() |
Egor Vladimirovich |
![]()
Сообщение
#17
|
Новичок ![]() Группа: Пользователи Сообщений: 35 Пол: Мужской Реальное имя: Егор Репутация: ![]() ![]() ![]() |
Как реализовать процедуру поиска числа дней между 2 датами? дата в формате д.м.г! Помогите!
|
мисс_граффити |
![]()
Сообщение
#18
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
решалось.
см. FAQ -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Egor Vladimirovich |
![]()
Сообщение
#19
|
Новичок ![]() Группа: Пользователи Сообщений: 35 Пол: Мужской Реальное имя: Егор Репутация: ![]() ![]() ![]() |
Уже посмотрел, нашел только процедуру сравнения 2 дат(одна больше другой и т.д.) А то что мне нужно найти к сожалению не удалось.
![]() |
мисс_граффити |
![]()
Сообщение
#20
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Самая первая задача.
То же самое, только наоборот: по времени и дате вычисляется другая дата. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
![]() ![]() |
![]() |
Текстовая версия | 20.04.2025 19:40 |