Наверное, есть готовое решение для запуска задачи в сабж?
Прости, любимая, так получилось...
... Не клонируй себя...
24 Jul 06 00:26, Alexander Balandin -> All:
AB> Hаверное, есть готовое решение для запуска задачи в сабж?
Hаверное есть однозначный алгоритм определения такого дня?
Sergey
■■■ Забудь пpо все пpо то чему учили тебя,знай-сегодня надо жить никого не любя
23 Июл 06 23:26 Alexander Balandin писал All:
AB> Hаверное, есть готовое решение для запуска задачи в сабж?
А зачем? все легко реализуется определением слова:
#( test-last-day
\ NoActive
NoLog
: tomorrow_day CUR-DATE DATE>YMD 1 DAY+ NIP NIP ;
Rule: tomorrow_day 1 - 0=
Action:
MSG: "Today is the last day of month. FINALLY!"
)#
-=с глубочайшим ...=-
Serge
claim[злая_собака]ukr[*]net
24 июля 2006 года (а было тогда 15:19)
Serge Maiboroda в своем письме к Alexander Balandin писал:
AB>> Hаверное, есть готовое решение для запуска задачи в сабж?
SM> А зачем? все легко реализуется определением слова:
SM> #( test-last-day
SM> \ NoActive
SM> NoLog
SM> : tomorrow_day CUR-DATE DATE>YMD 1 DAY+ NIP NIP ;
SM> Rule: tomorrow_day 1 - 0=
SM> Action:
SM> MSG: "Today is the last day of month. FINALLY!"
SM> )#
А как определеить последний рабочий день месяца?
С уважением. Andrew 24 июля 2006 года
Как-то в воскресенье 23 июля 06г., Сергей изрекал: "Александр, давай поговорим
на тему "Последний рабочий день месяца". И вот тут я вмешался:
AB>> Hаверное, есть готовое решение для запуска задачи в сабж?
SP> Hаверное есть однозначный алгоритм определения такого дня?
Наверное сможешь помочь оформить в эхотаге?
... Три капитана...
23 июл 2006, 22:47: Sergey Pushnyakov -> Alexander Balandin...
AB>> Hаверное, есть готовое решение для запуска задачи в сабж?
SP> Hаверное есть однозначный алгоритм определения такого дня?
Time: * * 29,30 1,3,5,7,8,10,12 5 *
Time: * * 31 1,3,5,7,8,10,12 1-5 *
Time: * * 28,29 4,6,9,11 5 *
Time: * * 30 4,6,9,11 1-5 *
Time: * * 26,27 2 5 1-9999/4,2-9999/4,3-9999/4
Time: * * 28 2 1-5 1-9999/4,2-9999/4,3-9999/4
Time: * * 27,28 2 5 * */4
Time: * * 29 2 1-5 * */4
Праздники и днерождения добавить по вкусу (принцип, надеюсь, понятен).
Sayonara... Dmitry.
24 июл 2006, 21:11: Dmitry Gaivoronsky -> Alexander Balandin...
AB>>> Hаверное, есть готовое решение для запуска задачи в сабж?
SP>> Hаверное есть однозначный алгоритм определения такого дня?
DG> Time: * * 29,30 1,3,5,7,8,10,12 5 *
DG> Time: * * 31 1,3,5,7,8,10,12 1-5 *
DG> Time: * * 28,29 4,6,9,11 5 *
DG> Time: * * 30 4,6,9,11 1-5 *
DG> Time: * * 26,27 2 5 1-9999/4,2-9999/4,3-9999/4
DG> Time: * * 28 2 1-5 1-9999/4,2-9999/4,3-9999/4
DG> Time: * * 27,28 2 5 * */4
DG> Time: * * 29 2 1-5 * */4
^ Две лишние звезды прокрались, сорри.
Sayonara... Dmitry.
24 Июл 06 17:43 Andrew Smetankin писал Serge Maiboroda:
AS> А как определеить последний рабочий день месяца?
Сорри, слово "рабочий" слегка упустил :/
Можно сделать и так, как предложил Dmitry Gaivoronsky.
Hо думаю, все-таки проще совместить определение слова со спецификацией времени:
-----------------
: tomorrow_day CUR-DATE DATE>YMD 1 DAY+ NIP NIP ;
Time: [необх.время: ММ ЧЧ] * * 1-5
Rule: tomorrow_day 1 - 0=
-----------------
+ специфические рабочие дни
DG> Праздники и днерождения добавить по вкусу (принцип, надеюсь, понятен).
^^^^^^^^
убрать?
AB>>>> Hаверное, есть готовое решение для запуска задачи в сабж?
SP>>> Hаверное есть однозначный алгоритм определения такого дня?
DG>> Time: * * 29,30 1,3,5,7,8,10,12 5 *
DG>> Time: * * 31 1,3,5,7,8,10,12 1-5 *
DG>> Time: * * 28,29 4,6,9,11 5 *
DG>> Time: * * 30 4,6,9,11 1-5 *
DG>> Time: * * 26,27 2 5 1-9999/4,2-9999/4,3-9999/4
DG>> Time: * * 28 2 1-5 1-9999/4,2-9999/4,3-9999/4
DG>> Time: * * 27,28 2 5 * */4
DG>> Time: * * 29 2 1-5 * */4
DG> ^ Две лишние звезды прокрались, сорри.
А если праздники какие перенесенные будут? Ну вот попадет 1 мая на
вторник и соответствующим указом правительства суббота 28 апреля будет
перенесена на понедельник 30? Мало ли таких переносов бывает...
25 Июл 06 17:04 Alex Welikanov писал Dmitry Gaivoronsky:
AW> А если праздники какие перенесенные будут? Hу вот попадет 1 мая на
AW> вторник и соответствующим указом правительства суббота 28 апреля будет
AW> перенесена на понедельник 30? Мало ли таких переносов бывает...
IMHO вы многого хотите ;)
Предложен способ обработки стандартной ситуации. Для обработки исключения нужны
дополнительные обработчики. Как один из выходов заведи специальный файл с
описанием всех исключений или сделай файл-календарь на весь год и анализируя по
текущей дате соответствующую запись, принимай решение.
Пошёл извращенским методом :)
Получились три последовательных условия.
Year@ Mon@ MonLength Day@ = Year@ Mon@ Year@ Mon@ MonLength WEEK-DAY 6 <
Year@ Mon@ Year@ Mon@ MonLength -1 DAY+ DAYS Days@ = Year@ Mon@ Year@ Mon@
MonLength -1 DAY+ WEEK-DAY 6 < AND
Year@ Mon@ Year@ Mon@ MonLength -2 DAY+ DAYS Days@ = Year@ Mon@ Year@ Mon@
MonLength -2 DAY+ WEEK-DAY 6 < AND
... Пахнет... Плохо...