Куда делся метод OnNewHour ?

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Ответить
Mikik
Сообщения: 111
Зарегистрирован: Ср апр 26, 2017 11:44 am
Откуда: Москва
Благодарил (а): 14 раз
Поблагодарили: 9 раз

Куда делся метод OnNewHour ?

Сообщение Mikik » Вт окт 08, 2019 4:25 pm

Заметил, что Алиса перестала озвучивать каждый час. Оказалось, что метод OnNewHour объекта ClockChime класса Timer не содержит никакого кода. Куда он делся? Видимо исчез при очередном обновлении?
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Куда делся метод OnNewHour ?

Сообщение Divan » Ср окт 09, 2019 12:09 am

Вы можете сами добавить метод onNewHour в объект Timer

Если метода onNewHour нет, то просто добавьте его, создайте и именуйте onNewHour, код вписывать не нужно
СпойлерПоказать
2.jpg
2.jpg (77.45 КБ) 1364 просмотра
В объекте Timer можете создать подобъект Hour, а в методе данного подобъекта Hour в коде можете прописывать что угодно и он будет срабатывать каждый час
СпойлерПоказать
1.JPG
1.JPG (57 КБ) 1364 просмотра
3.jpg
3.jpg (77.26 КБ) 1364 просмотра
Если вдруг пропали дата и время, то можно вставить этот код.

Код: Выделить всё

$days=array('воскресенье','понедельник','вторник','среда','четверг','пятница','суббота');
$months=array(1=>'январь','февраль','март','апрель','май','июнь','июль','август','сентябрь','октябрь','ноябрь','декабрь');
$months2=array(1=>'января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
$daymonth=array(1=>'первое','второе','третье','четвертое','пятое','шестое','седьмое','восьмое','девятое','десятое','одинадцатое','двенадцатое','тринадцатое','четырнадцатое','пятнадцатое','шестнадцатое','семнадцатое','восемнадцатое','девятнадцатое','двадцатое','двадцать первое','двадцать второе','двадцать третье','двадцать четвертое','двадцать пятое','двадцать шестое','двадцать седьмое','двадцать восьмое','двадцать девятое','тридцатое','тридцать первое');
$day_num=(int)date('w');
$month_num=(int)date('m');
$day_month=(int)date('j');
$day_of_month=$daymonth[$day_month];
$day_of_week=$days[$day_num];
$month_txt1=$months[$month_num];
$month_txt2=$months2[$month_num];
setGlobal('MonthNum',$month_num);
setGlobal('MonthTXT',$month_txt1);
setGlobal('MonthTXTalt',$month_txt2);
setGlobal('DayOfMonthNum',$day_month);
setGlobal('DayOfMonthTXT',$day_of_month);
setGlobal('DayOfWeekTXT',$day_of_week);
setGlobal('DayOfWeekNum',$day_num);

// ================= раскидываем дату и время если изменилось в Windows =========================================
$h=(int)date('G',time());

if (gg('Time.DateD') != date("d", time())) {

   $day = array(
       'воскресенье', 'понедельник', 'вторник', 'среда',
       'четверг', 'пятница', 'суббота'
   ); 

   $month = array(
       1 => 'января', 2 => 'февраля', 3 => 'марта', 4 => 'апреля',
       5 => 'мая', 6 => 'июня', 7 => 'июля', 8 => 'августа',
       9 => 'сентября', 10 => 'октября', 11 => 'ноября', 12 => 'декабря'
   );

   $monthAlt = array(
       1 => 'ЯНВАРЬ', 2 => 'ФЕВРАЛЬ', 3 => 'МАРТ', 4 => 'АПРЕЛЬ',
       5 => 'МАЙ', 6 => 'ИЮНЬ', 7 => 'ИЮЛЬ', 8 => 'АВГУСТ',
       9 => 'СЕНТЯБРЬ', 10 => 'ОКТЯБРЬ', 11 => 'НОЯБРЬ', 12 => 'ДЕКАБРЬ'
   );
   // раскидываем дату по свойствам  
   sg("DateD",date( "d", time()));
   sg("DateM",date( "m", time()));
   sg("DateY",date( "Y", time()));
   sg("Date",date( "d.m.Y", time()));
   sg("Day",$day[date("w")]);
   sg("Month",$month[date("n")]);
   sg("MonthAlt",$monthAlt[date("n")]);
 
}
За это сообщение автора Divan поблагодарил:
Step40 (Ср окт 09, 2019 5:06 am)
Рейтинг: 1.16%
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Ответить