|
Модераторы: bsa |
|
Arturlem |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 16.7.2019 Репутация: нет Всего: нет |
Есть три события сигналов (красный - авария, желтый -предупреждение, зеленый(цвет) - нормальная работа).
Есть некий прямоугольник (объект). При выставлении определенного сигнала, должен высветиться соответствующий цвет. Тип данных сигнала - bool (вкл./выкл.). Для трех сигналов я написал программу. Но если этих сигналов будет 100? Ничего толкового придумать не могу. Может у кого-то будут идеи? К примеру: 40 сигналов -красных. 30 - зеленых. и 30 желтых. Мне надо понять алгоритм работы. Написано это на языке сценариев CTRL У меня должен быть приоритет, то есть если красный цвет в "1", то он должен быть в приоритете. Это написано для трех сигналов. Мне надо написать для 100 сигналов. То есть мне надо вместо 3 сигналов, написать для 100 сигн.
|
|||
|
||||
xvr |
|
||||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Ой. Это что за зверь?
У вас 3 беcцветных сигнала - a,b и c. Судя по коду a - красный, b - желтый и c - зелёный. А если их 30? И по какой логике они должны включать ваш квадрат? То, что вы уже написали можно сделать так:
для 30 сигналов видимо аналогично |
||||
|
|||||
vol4ek |
|
|||
конь в пальто Профиль Группа: Участник Сообщений: 304 Регистрация: 1.5.2011 Где: Минск Репутация: нет Всего: 0 |
switch наверное удобней будет.
|
|||
|
||||
Arturlem |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 16.7.2019 Репутация: нет Всего: нет |
Используется в scada)) Не, я написал программу для трех сигналов при трех состояниях (красный, желтый, зеленый). Допустим, я ставлю первый сигнал на "вкл", квадрат загорается красным цветом. Второй если ставлю - желтым, третий - зеленым. Задача заключается в том, что у меня будут 30 сигналов при трех состояниях. 10 сигналов должны быть красными, 10-зелеными, 10 - желтыми. И должен быть приоритет сигналов, то есть у красных-высокий, потом желтый, потом -зеленый. Я поэтому так написал код. К примеру, если будут включены одновременно и красный и желтый, то будет гореть красный цвет Это сообщение отредактировал(а) Arturlem - 17.7.2019, 08:50 Присоединённый файл ( Кол-во скачиваний: 2 ) 13.PNG 31,34 Kb |
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Тогда по ИЛИ все красные (в строке 3 в моём исходнике), потом все жёлтые (в строке 5), потом все зелёные (в строке 7)
|
|||
|
||||
Arturlem |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 16.7.2019 Репутация: нет Всего: нет |
Честно говоря, не понял Вас. Мне в добавок ко всему этому, надо приоритет выставить, то самый высокий у -красного. Если у меня красный стоит в 1 и зеленый в 1, должен гореть красный цвет. |
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Для начала вам нужно выкинуть свой исходник (с ним 30 сигналов не сделать), а взять из 2го сообщения этой темы. После этого добавить туда недостающие 27 сигналов (как именно добавлять написано в 5м сообщении этой темы) Приоритет уже есть (в правильном исходнике, не у вас) |
|||
|
||||
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |