Решил сделать свой маленький вклад. Посмотрел - тут такие сложные большие макросы, у меня все очень скромно.
Небольшой набор макросов для работы со знаковыми целыми числами. Единственный минус этого набора - макрос sDIV - он не поддерживает работу с числом -2147483648. Да и за оптимальность решения не ручаюсь. В общем, берите - что есть.
Последний раз редактировалось Devoter; 05.07.2016 в 12:52.
Делал проект, придумал формат Week Time Clock. Суть проста, формат хранит текущий день недели, час и минуту в виде одного целого числа. Максимальное значение 10079 - Вс. 23:59. Собственно, набор макросов как раз позволяет преобразовывать из одного этого числа в три отдельных, где 0 - понедельник, 1 - вторник и т.п.. Дата зациклена, то есть, после последней минуты воскресенья наступает Пн. 00:00. Для обеспечения всех этих условностей в комплекте идут макросы типа wtcADD и wtcSUB. Также мне было нужно иметь возможность оставить дату неуказанной, для этого я использую число 10080, так как оно больше допустимого на 1, строго говоря, можно использовать любое число, больше 10079, проверку на корректность даты делает макрос corrWTC. Конечно, там многое сделано не идеально, и есть смысл дорабатывать, но все опробовано на реальном железе и вполне успешно работает.
Для тех, кому не ясно - зачем нужен такой формат - приведу пример:
У нас есть какой-то временной интервал, скажем от Пн. 00:20 до Пн. 06:10. Причем этот интервал задает пользователь. Нам же нужно указать отрицательное или положительное смещение, относительно указанного времени, скажем, на 1 час назад отодвинуть нижнюю границу, то есть - 60 минут. Тогда у нас должен получиться уже интервал Вс. 23:20 - Пн. 06:10. Чтобы автоматизировать обработку всех этих переходов между днями и удобно использовать данные макросы.
P.S.: Макрос toWTCDay вычисляет день недели (от 0 до 6), получая на входе год, месяц и число, так что вполне может быть использован отдельно от остальных.
Последний раз редактировалось Devoter; 05.07.2016 в 12:51.
Не знаю, может нужен кому - простенький макрос: Включение устройства при превышении порога верхнего давления, и выключение при достижении порога нижнего давления.
Screenshot_4.jpg
Если такой уже есть - прошу удалить пост.
Последний раз редактировалось Ger4sim; 05.07.2016 в 21:35.
А чем макрос гистерезиса не угодил ?
электронщик до мозга костей и не только
В поиске нашел http://www.owen.ru/forum/showthread....ll=1#post85274
электронщик до мозга костей и не только
Из-за того что макросы хоть и собраны в одной теме ,но очень сильно разбросаны и не систематизированы ,гляжу некоторые уже по 3 кругу изобретают то ,что уже давно есть .Но это вопрос к администрации форума больше ,чем к авторам .Это их работа -зерна извлекать из плевел .
электронщик до мозга костей и не только
По правде говоря, не вполне понял - кому адресованы последние два сообщения? А насчет базы макросов - есть одна мысль, но пока нет времени на ее реализацию. Пока и рассказывать нечего, а как будет - сразу покажу )
увидел макрос и решил себя попробовать на этом же поприще...
В общем: макрос вычисления дня недели XXI века, год задаётся как 00-99, на выходе ВС=0, ПН=1 ... СБ=6
PS если заменить три 4х значные константы на 240,5008и1314 соответственно, то получится календарь от 1901 до 2099г включительно, с обязательным указанием года полностью (1917 или 2017, но не "17")
Последний раз редактировалось AI!; 08.07.2016 в 10:46.
начинающий профессионал
А я увидел его после... ))
http://www.owen.ru/forum/showthread....l=1#post201881
пора выбрасывать прах, от обиды на мир, пока тела наши не стали невидимыми...