Скрытие элемента массива

Обсуждение, связанное с разработкой ПО верхнего уровня
zhe_nek
beginner
beginner
Сообщения: 25
Зарегистрирован: 26 окт 2010, 08:46
Версия LabVIEW: 8.2
Откуда: Московская обл.
Контактная информация:

Скрытие элемента массива

Сообщение zhe_nek »

Здравствуйте.

Вопрос такой, у элементов лицевой панели есть свойcтво Visible, которые скрывает/показывает элементы лицевой панели, возможно ли скрыть отдельный элемент массива?

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

Re: Скрытие элемента массива

Сообщение inmaze »

Если массив для контрола, то как костыль можно, наверное, создать два массива, а к контролу прикрутить локальную переменную, и в зависимости от условий подавать на нее тот или иной массив.
Аватара пользователя
IvanLis

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

Re: Скрытие элемента массива

Сообщение IvanLis »

zhe_nek писал(а):Здравствуйте.

Вопрос такой, у элементов лицевой панели есть свойcтво Visible, которые скрывает/показывает элементы лицевой панели, возможно ли скрыть отдельный элемент массива?

И еще вопрос по массивам, как можно отобразить массив в несколько строк и столбцов, но что бы он был одномерным?
Скрыть отдельный элемент массива не удастся, да и зачем это делать?
Отобразить одномерный массив можно свернув его в двумерный 2D
zhe_nek
beginner
beginner
Сообщения: 25
Зарегистрирован: 26 окт 2010, 08:46
Версия LabVIEW: 8.2
Откуда: Московская обл.
Контактная информация:

Re: Скрытие элемента массива

Сообщение zhe_nek »

IvanLis писал(а):
Скрыть отдельный элемент массива не удастся, да и зачем это делать?
Отобразить одномерный массив можно свернув его в двумерный 2D
За идею свернуть в 2D спасибо, попробую.

У меня на лицевой панели нужно динамически отображать/скрывать до 256 контролов/индикаторов, было бы гораздо удобней работать с этими данными как с массивом и скрывать/отображать конкрентный элемент массива, а не отдельный элемент.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Скрытие элемента массива

Сообщение Borjomy_1 »

Разве что оформить не массивом, а кластером. Вот тогда будет доступ к каждому элементу. Если контролы стандартные, то можно в программе вставить преобразование массива в кластер, указать количество элементов и, кликнув на выходную wire, создать контрол с нужным количеством элементов.
Можно сделать кластер (с упорядочиванием по вертикали) столбцов, в котором лежит несколько кластеров строк, но уже упорядоченных по горизонтали. Тогда проще производить модификацию.
Аватара пользователя
IvanLis

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

Re: Скрытие элемента массива

Сообщение IvanLis »

zhe_nek писал(а):У меня на лицевой панели нужно динамически отображать/скрывать до 256 контролов/индикаторов
это дело сугубо личное, или определяется заказчиком
но когда я слышу подобное, всегда возникает вопрос...
а правильно ли мы делаем?
может изменить структуру программы или представления данных
все равно отследить изменение данных в 256 элементах не возможно!
можно реализовать отображение только аномальных данных или еще как-нибудь
zhe_nek
beginner
beginner
Сообщения: 25
Зарегистрирован: 26 окт 2010, 08:46
Версия LabVIEW: 8.2
Откуда: Московская обл.
Контактная информация:

Re: Скрытие элемента массива

Сообщение zhe_nek »

IvanLis писал(а):это дело сугубо личное, или определяется заказчиком
но когда я слышу подобное, всегда возникает вопрос...
а правильно ли мы делаем?
может изменить структуру программы или представления данных
все равно отследить изменение данных в 256 элементах не возможно!
можно реализовать отображение только аномальных данных или еще как-нибудь
Можно конечно обсудить правильно я делаю или не правильно, но это не столь важно. Мне нужно всего лишь показывать/скрывать определенное число элементов, при большом количестве удобней использовать массив. А мой проект для внутренних нужд, не для пользователя, а для программиста, и 256 это крайний случай, обычно элементов до 64, но нужно предусмотреть конечно все случаи.
Последний раз редактировалось IvanLis 19 окт 2012, 13:57, всего редактировалось 1 раз.
Причина: оверквотинг
Аватара пользователя
IvanLis

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

Re: Скрытие элемента массива

Сообщение IvanLis »

zhe_nek писал(а):мой проект для внутренних нужд, не для пользователя, а для программиста, и 256 это крайний случай, обычно элементов до 64, но нужно предусмотреть конечно все случаи.
сам подобным не занимался, но недавно нашел информацию по динамическому созданию элементов
конечно все не так просто, но это наверное самое красивое решение
посмотрите: https://decibel.ni.com/content/thread/10162
там внизу есть пример
Dynamic Control Creation.zip
Control/indicator creation at run time (dynamic control creation) - (Динамическое создание элементов управления на лицевой панели)
(178.45 КБ) 161 скачивание
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: Скрытие элемента массива

Сообщение Jakob Brontfeyn »

А почему бы неиспользовать Листбокс, для этих целей,
все получается легко и просто
zhe_nek
beginner
beginner
Сообщения: 25
Зарегистрирован: 26 окт 2010, 08:46
Версия LabVIEW: 8.2
Откуда: Московская обл.
Контактная информация:

Re: Скрытие элемента массива

Сообщение zhe_nek »

Jakob Brontfeyn писал(а):А почему бы неиспользовать Листбокс, для этих целей,
все получается легко и просто
покажите плиз как, индикаторы и контролы типов DOUBLE и BOOL. У самого пока такой вариант
Вложения
2.PNG
zhe_nek
beginner
beginner
Сообщения: 25
Зарегистрирован: 26 окт 2010, 08:46
Версия LabVIEW: 8.2
Откуда: Московская обл.
Контактная информация:

Re: Скрытие элемента массива

Сообщение zhe_nek »

IvanLis, Спасибо, буду разбираться.
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: Скрытие элемента массива

Сообщение Jakob Brontfeyn »

вот одно мое архивное демо, там собственно цель была упростить
диаграмму при отображении элементов массива на мнемохеме, в одной
скада-подобной системе.
Но и скрытие каких то индикаторов там тоже получается
за счет Листбокса
Вложения
GAS_VISUAL_demo.vi
(361.95 КБ) 152 скачивания
Аватара пользователя
IvanLis

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

Re: Скрытие элемента массива

Сообщение IvanLis »

Jakob Brontfeyn писал(а):Но и скрытие каких то индикаторов там тоже получается за счет Листбокса
а где там ListBox :dntknw:
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: Скрытие элемента массива

Сообщение Jakob Brontfeyn »

Sorry,
по немецки это "Register-Bedienelement"
по английски "Tab control"
а как это по русски ???
Аватара пользователя
IvanLis

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

Re: Скрытие элемента массива

Сообщение IvanLis »

Jakob Brontfeyn писал(а):по английски "Tab control"
а как это по русски ???
:dntknw: Tab control
или еще называют "Панель закладок" :wink:
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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