Объединение Булионов в массив

Обсуждение, связанное с разработкой ПО верхнего уровня
Аватара пользователя
inmaze
user
user
Сообщения: 75
Зарегистрирован: 21 сен 2011, 10:43
Версия LabVIEW: 2011
Откуда: Dresden/Germany
Контактная информация:

Объединение Булионов в массив

Сообщение inmaze »

Добрый день,
кто знает подскажите можно ли сделать контрол следующего вида:
чтоб на лицевой панеле он отображался как набор булеанов, расположенных произвольно, а на блок-диаграмме как аррей, а не как разрозненные булеаны (как у меня на картинке).
Чтоб я в любом месте программы записывал в этот контрол число (аррей булеанов) и на лицевой панеле зажигались соответвующие Булеаны.
Вложения
LEDS Forum.png
Аватара пользователя
Oleg B.

Activity Professionalism
leader
leader
Сообщения: 674
Зарегистрирован: 25 сен 2011, 11:30
Награды: 2
Версия LabVIEW: 5 .. 2021
Откуда: Israel
Контактная информация:

Re: Объединение Булионов в массив

Сообщение Oleg B. »

Создайте для каждого "булеана" указатель (reference) - все указатели объедините в массив, потом работайте с этим массивом.
veni, vidi, phallomorphi
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: Объединение Булионов в массив

Сообщение mzu2006 »

или сделайте XControl
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Объединение Булионов в массив

Сообщение Kosist »

inmaze, вы хотите сделать что-то типа цифрового табло? Ведь если использовать несколько таких объединений булеанов, то XControl не поможет; для каждого (если форма, т.е. расположение булеанов будет разное) элемента нужно будет делать свой layout. А вот если это будет один элемент, с кучей булеанов, эдак 100 на 20; то тогда прокатит, можно сделать.
А вообще, можно пойти "в лобовую": присваивать булеанам из соттветствующей группы имя с префиксом, т.е. Group1Bool1; Group1Bool2... Group25Bool1; затем брать рефу на Pane, анализировать лейблы всех контролов; затем объединять референсы булеанов соттветствующих групп в массивы (можно и отсортировать), а уж после работать с массивом референсов. Динамическое построение массивов рефов будет выглядеть лучше, да и эффективней - если в группы включать придется другие элементы.
Мы делили апельсин - много наших полегло...
Аватара пользователя
inmaze
user
user
Сообщения: 75
Зарегистрирован: 21 сен 2011, 10:43
Версия LabVIEW: 2011
Откуда: Dresden/Germany
Контактная информация:

Re: Объединение Булионов в массив

Сообщение inmaze »

Спасибо за предложения,

Oleg B.:
создание массива референсов не исправит ситуацию - мне в каждой подпрограмме и надпрограмме, надо будет этот набор из 8 референсов в явном виде указывать.

mzu2006: Хконтрол - это первое куда я кинулся - но он мне не дал на фронт панеле более одного булеана расположить - говорит, что только один контрол на панеле положен.

Kosist:
нет, не цифровое табло - это контрол для включения 8-ми светодиодов в лампе Керр-микроскопа (так и расположенных крестом). Пользователь должен иметь возможность нажатием на произвольный булеан включать тот или иной светодиод, а кроме того прогармма должна уметь вкл/выкл светодиоды из других виаев.
Попробую в этом виае собрать булеаны в массив, который будет расходиться по другим виаям, а измения приходящие из других виаев в виде измения массива динамический подхватывать и разбирать на булеаны.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Объединение Булионов в массив

Сообщение IvanLis »

Контрол на лицевой панели сделайте как кластер, в программе преобразуйте его в массив.
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Объединение Булионов в массив

Сообщение Vitekkz88 »

Добрый день,
кто знает подскажите можно ли сделать контрол следующего вида:
чтоб на лицевой панеле он отображался как набор булеанов, расположенных произвольно, а на блок-диаграмме как аррей, а не как разрозненные булеаны (как у меня на картинке).
Чтоб я в любом месте программы записывал в этот контрол число (аррей булеанов) и на лицевой панеле зажигались соответвующие Булеаны.
Прошу прощения за,возможно,нелепый вопрос,но: что Вас останавливает использовать кластер?Поместите эти элементы в кластер.
К тому же
это контрол для включения 8-ми светодиодов в лампе Керр-микроскопа (так и расположенных крестом)
Судя по всему вид этого контрола меняться не будет...Кластер преобразуйте в массив,если так хочется(на выходе как раз будете иметь массив bool-еанов).Изменять значения этого кластера(массива) в различных участках программы можно с помощью уведомителей.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Объединение Булионов в массив

Сообщение Vitekkz88 »

IvanLis 12 минут назад
Контрол на лицевой панели сделайте как кластер, в программе преобразуйте его в массив.
Блин...и я про то же написал. Пока писал - Вы в одну строчку сформулировали
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
inmaze
user
user
Сообщения: 75
Зарегистрирован: 21 сен 2011, 10:43
Версия LabVIEW: 2011
Откуда: Dresden/Germany
Контактная информация:

Re: Объединение Булионов в массив

Сообщение inmaze »

Я про кластер сразу подумал - но, ведь его каждый раз разбирать/собирать надо, да и внешний вид не торт. А хотелось чего-нибудь элегантного и простого типа массива, записываешь в него массив булеанов, который получается после преобразования числа в 2очной форме, а между виаями как раз только это число и передаешь...
Но все равно всем спасибо.
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Объединение Булионов в массив

Сообщение Vitekkz88 »

Я про кластер сразу подумал - но, ведь его каждый раз разбирать/собирать надо, да и внешний вид не торт. А хотелось чего-нибудь элегантного и простого типа массива, записываешь в него массив булеанов, который получается после преобразования числа в 2очной форме, а между виаями как раз только это число и передаешь...
Но все равно всем спасибо.
Зачем его собирать/разбирать?
Вы можете передавать число!Преобразуйте кластер в массив,а массив bool-ов в число.И всё.
Точно также и в обратную сторону!Число в булев массив, массив в кластер.
Ну а про внешний вид - это Вы зря. У силвера вполне достойный внешний вид.Ну если не нравится,то можете самостоятельно редактировать внешний вид,вплоть до скрытия.Никто подмены не заметит :D
В любом случае между .vi связь будете делать с помощью очередей или уведомителей.Тут уж вопрос что они будут переносить - хоть цифру,хоть кластер,хоть массив,хоть всё это вместе сразу.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: Объединение Булионов в массив

Сообщение mzu2006 »

inmaze писал(а): mzu2006: Хконтрол говорит, что только один контрол на панеле положен.
как сказал IvanLis - возьмите кластер.
inmaze писал(а):его каждый раз разбирать/собирать надо, да и внешний вид не торт. А хотелось чего-нибудь элегантного и простого типа массива, записываешь в него массив булеанов, который получается после преобразования числа в 2очной форме, а между виаями как раз только это число и передаешь...
А сборку-разборку спрячьте в XControl'е. Data сделайте массивом, а Facade кластером.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Объединение Булионов в массив

Сообщение IvanLis »

inmaze писал(а):Я про кластер сразу подумал - но, ведь его каждый раз разбирать/собирать надо, да и внешний вид не торт.
Куда уж проще:
1.png
1.png (15.92 КБ) 8832 просмотра
1.vi
lv2010
(8.96 КБ) 153 скачивания
А по поводу внешнего вида, я сам не заморачивался по этому поводу никогда. Но на форуме много раз обсуждалось как рамку кластера скрыть и т.п.
Аватара пользователя
inmaze
user
user
Сообщения: 75
Зарегистрирован: 21 сен 2011, 10:43
Версия LabVIEW: 2011
Откуда: Dresden/Germany
Контактная информация:

Re: Объединение Булионов в массив

Сообщение inmaze »

Ага я в итоге так и организовал, как на картинке у IvanLis, только вот внешний вид не смог побороть, хотя бы фон на белый сменить, а лучше вообще без фона.
В "customize control " в приложении к кластеру он мне так ничего и не дал поменять.
Вложения
frontForum.png
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Объединение Булионов в массив

Сообщение Kosist »

inmaze, используйте, например, силвер или классик кластер, (с модерн проблематично как-то), и не нужно кастомайзить. Выберите прозрачный цвет на палитре, и "закрасьте" кластер, и его границы.
Мы делили апельсин - много наших полегло...
AlexanderKonoval
developer
developer
Сообщения: 257
Зарегистрирован: 03 янв 2014, 19:37
Версия LabVIEW: 2016
Откуда: Украина, Киев
Контактная информация:

Re: Объединение Булионов в массив

Сообщение AlexanderKonoval »

Поищите на NI палитру Missing System Controls - в ней есть отличные массивы и кластеры.
колдооооовствооооо! (С)
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Лицевая панель»