Вопросы по коду

Модератор: Alex

skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Вопросы по коду

Сообщение skysilver » Пт окт 20, 2017 12:13 am

Передать параметр так:

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

$value=205;
cm('RB_2.Selection', array('value'=>$value)); 
Внутри метода получить так:

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

$val = $params['value'];
и сравнить

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

if (gg($obj['TITLE'].".Room") == $val) {
 setGlobal($obj['TITLE'].".Selected",1);
}
205 это номер кабинета? ))
За это сообщение автора skysilver поблагодарил:
Chainik (Пт окт 20, 2017 8:48 am)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Вопросы по коду

Сообщение Chainik » Пт окт 20, 2017 8:54 am

skysilver писал(а):...
205 это номер кабинета? ))
Это уникальный номер помещения. Не то чтобы я под Зимний Дворец проектирую, но хочется как-то все унифицировать :)

А еще можно спросить, в целях повышения образованности?
Если нам надо передать не один, а несколько параметров, например

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

$value=205;
$value2=107;
$value3=301;
cm('RB_2.Selection', array(????????????????????)); 
Это как должно выглядеть?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Вопросы по коду

Сообщение nick7zmail » Пт окт 20, 2017 8:56 am

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

cm('RB_2.Selection', array('value1'=>$value1, 'value2'=>$value2)); 
и так далее...

Лично я бы вписал эти value в свойства объекта (в объекте, связанном с помещением), и прямо в конечном методе проверял - установлено ли это свойство, и если установлено - то выполняем какие нить действия...
Так не пришлось бы прописывать каждую запись (каждый номер) отдельно.
За это сообщение автора nick7zmail поблагодарил:
Chainik (Пт окт 20, 2017 9:00 am)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

Re: Вопросы по коду

Сообщение nightwind » Пт окт 20, 2017 9:04 am

nick7zmail писал(а):

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

cm('RB_2.Selection', array('value1'=>$value1, 'value2'=>$value2));
и так далее...

Лично я бы вписал эти value в свойства объекта (в объекте, связанном с помещением), и прямо в конечном методе проверял - установлено ли это свойство, и если установлено - то выполняем какие нить действия...
Так не пришлось бы прописывать каждую запись (каждый номер) отдельно.
Это еще больше нагрузит и тк нагруженную базу.
Я наоборот стараюсь выносить такие вещи в переменные в коде, в базе и так слишком много хранится временных величин
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Вопросы по коду

Сообщение Chainik » Пт окт 20, 2017 9:06 am

Спасибо, друзья! Знал, что выручите.
nick7zmail писал(а):...
Лично я бы вписал эти value в свойства объекта (в объекте, связанном с помещением), и прямо в конечном методе проверял - установлено ли это свойство, и если установлено - то выполняем какие нить действия...
Так не пришлось бы прописывать каждую запись (каждый номер) отдельно.
Да я, собственно, так и делаю. Параметры передаются из кода, выполняемого по клику кнопки на сцене. Кнопок несколько и каждая связана со своим объектом в классе. А при выполнении метода переданный параметр сравнивается с соответствующими свойствами объекта класса.
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Вопросы по коду

Сообщение olehs » Пт окт 20, 2017 11:04 am

Как говорится, добавлю немного синтаксического сахара :) :
Конструкцию

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

$value1 = 1;
$value2 = '2';
cm('RB_2.Selection', array('value1'=>$value1, 'value2'=>$value2));
можно записать так

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

$value1 = 1;
$value2 = '2';
cm('RB_2.Selection', ['value1'=>$value1, 'value2'=>$value2]);
или так

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

$value1 = 1;
$value2 = '2';
cm('RB_2.Selection', compact('value1', 'value2'));
За это сообщение автора olehs поблагодарили (всего 4):
skysilver (Пт окт 20, 2017 11:21 am) • Chainik (Пт окт 20, 2017 11:40 am) • nightwind (Сб окт 21, 2017 7:35 pm) • ipc2002 (Вт мар 27, 2018 8:37 pm)
Рейтинг: 4.65%
Ответить