Sinclair83
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Договор v1.4a Всем, привет. Как и обещал выкладываю немного доработанную версию "Договор'а". Краткий комментарий: проблема не в том как от одного числа отнять другое, а в том как этот процесс сделать максимально удобным для конечного пользователя ("юзерфриндли"). Итак поехали: DateGadget #1 Комбинация горяч. кл. "Shift+1" - активация гаджета горяч. кл. "T" - определяет выбранный год високосный или нет. (Зелёный - не високосный; Красный - високосный). ПКМ по гаджету - то же самое действие (тест). горяч. кл. "Esc" - сброс даты к начальному состоянию (та, что была при запуске программы). горяч. кл. "TAB" - последовательный переход по полям ввода DateGadget'a. След. горяч. кл. специально не назначал, но они работают "из коробки": "+" и "-" на цифровом блоке клавиатуры (NumLock) - увелич./уменьшить значение активного поля на единицу. "Ноme" и "End" - перейти к Min/Max значению, допустимому для активного/конкретного поля. Всё вышесказанное относится также и к DateGadget #2, за исключением активации. Здесь комбинация будет следующей: "Shift+2". StringGadget (ввод кол-ва дней и знака) горяч. кл. "Esc" - сброс к значению по-умолчанию (40) горяч. кл. "Del" на цифровом блоке клавиатуры (NumLock) - очистить поле ввода. ПКМ по данному гаджету = то же самое действие. горяч. кл. "M" - установка/удаление знака. Внимание! так как выставлено ограничение в 3 символа для данного гаджета, то рекомендуется сначала задать нужное значение и только потом знак. Или если текущее значение - отрицательное, а новое будет менее чем -99, то: 1) удалить знак - "M" 2) ввести новое значение 3) вернуть знак - "M" Иначе не сможете задать число, меньшее чем -99. Каждый раз нажимая "M" представьте, что вы уже заданное число умножаете на -1. "+" и "-" на цифровом блоке клавиатуры (NumLock) при активном StringGadget'е - не было "из коробки". Заморочился и добавил. Все вышеперечисленные горячие клавиши действеют только тогда, когда тот или иной гаджет в фокусе. Правый "Ctrl" - активировать StringGadget и заодно выделить значение. Эта "гор. кл." действует вне зависимости от того, какой гаджет активен в данный момент (естественно тогда, когда возможно). в режиме "d" - нет. горяч. кл. "d" - переключиться в режим расчёта дней между заданными датами. Повторное нажатие сменит режим на обратный. Эта гор. кл. также действует всегда. "Space" (пробел) - установить/снять флаг чекбокса (действует всегда). "Enter" = расчитать (действует всегда). В "режиме контракта" в итоговом результате также выводится информация о дне недели (после даты). 1-Понедельник; 2-Вторник; ...; 7-Воскресенье. Чуть ниже можно видеть TextGadget. При наведении на него мышки курсор будет изменён. Это значит, что эта зона "кликабельна". Это утверждение справедливо только для случая, когда считаются рабочие дни (чекбокс не отмечен). Переключение отчётов: ПКМ - вперёд. ЛКМ - назад. В режиме "d" (difference) значения из гаджетов дата #1 и дата #2 также входят в диапазон. То есть считаются. Например, если взять период с 1.07.2019 по 31.07.2019, то эти даты также будут учтены. Например, если нужно подсчитать кол-во раб. дней в июле 2019, то выставляете: DateGadget #1 = 1.07.2019 DateGadget #2 = 31.07.2019 Кстати, значение DateGadget #2 может быть меньше, чем значение DateGadget #1. Ошибки не будет, ровно как и знака "-" в конечном результате (ведь нас интересует только кол-во дней, поэтому для удобства восприятия знак не ставится). Только в отчёте даты будут идти в обратном порядке. Также "из коробки" работает комбинация клавиш "Shift+TAB" - последовательный переход по допустимым для активации гаджетам. Всё! upd: ссылка обновлена. upd2: ссылка повторно обновлена. причина: убрал закольцовку при переключении отчётов по ЛКМ, ПКМ (немного сбивала с толку). |