Динамически изменяемая лицевая панель

Обсуждение, связанное с разработкой ПО верхнего уровня

Динамически изменяемая лицевая панель

Postby JohnChaban on 23 Aug 2016, 09:40

Всем привет.
Есть кластер -данные класса смотри рисунок.
Я знаю что в Labview нет возможность менять лицевую панель в режиме выполнения только в режиме остановки прибора.
Но может какой-то способ уже есть?
Можно ли без остановки прибора убрать например текстовое поле.
Attachments
FRONTPANEL.jpg
Лицевая панель
User avatar
JohnChaban
master
master
 
Posts: 471
Joined: 18 Feb 2010, 13:26
Location: Город Сосновый Бор Ленинградская Область
LabVIEW Version: 2015,2016
Karma: 0

Re: Динамически изменяемая лицевая панель

Postby Borjomy_1 on 23 Aug 2016, 09:48

Да элементарно. доступны все свойства элементов кластера. Надо знать порядковый номер индикатора в кластере и иметь на панели контрол соответствующего типа (ну или сделать соответствующую константу референса). Контрол можно сделать невидимым.
Attachments
Cluster elements visible change.png
Cluster elements visible change.png (18.41 KiB) Viewed 3895 times
Cluster elements visible change.vi
сохранен в 2012
(6.27 KiB) Downloaded 85 times
Borjomy_1
expert
expert
 
Posts: 1817
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 319
VIP

Re: Динамически изменяемая лицевая панель

Postby AndreyDmitriev on 23 Aug 2016, 10:16

JohnChaban wrote:Всем привет.
Есть кластер -данные класса смотри рисунок.
Я знаю что в Labview нет возможность менять лицевую панель в режиме выполнения только в режиме остановки прибора.
Но может какой-то способ уже есть?
Можно ли без остановки прибора убрать например текстовое поле.

В принципе коллега выше прав, так сделать можно. Но вот сакральный смысл менять видимость элементов в приватном кластере данных класса от меня честно говоря ускользает. Он на то и приватный, что вы его показывать пользователю в общем-то не должны. Для доступа к данным класса вы используете методы. Для отображения и изменения данных пользователю вы делаете свой интерфейс, который заполняется данными класса путём вызова соотвтетствующих методов - в этом один из фундаментальных принципов ООП. А так вы просто нарушаете инкапсуляцию.
User avatar
AndreyDmitriev
VIP
VIP
 
Posts: 1225
Joined: 03 Feb 2010, 00:42
Location: Германия
Medals: 6
Activity (1) Professionalism (1) Tutorials (1) Gold (1) Black (2)
LabVIEW Version: 6.1 - 2016
Karma: 433

Re: Динамически изменяемая лицевая панель

Postby Jakob Brontfeyn on 23 Aug 2016, 14:25

посмотрите еще здесь
viewtopic.php?f=21&t=6317
User avatar
Jakob Brontfeyn
expert
expert
 
Posts: 1703
Joined: 28 Feb 2008, 11:01
Medals: 6
Activity (1) Gold (1) Silver (2) Black (2)
Karma: 237
VIP

Re: Динамически изменяемая лицевая панель

Postby JohnChaban on 23 Aug 2016, 14:30

А добавить элемент? Как
User avatar
JohnChaban
master
master
 
Posts: 471
Joined: 18 Feb 2010, 13:26
Location: Город Сосновый Бор Ленинградская Область
LabVIEW Version: 2015,2016
Karma: 0

Re: Динамически изменяемая лицевая панель

Postby Borjomy_1 on 23 Aug 2016, 14:36

А добавить элемент? Как

Никак. И удаление элемента формальное - поле данных остается, только не показывается.
Borjomy_1
expert
expert
 
Posts: 1817
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 319
VIP

Re: Динамически изменяемая лицевая панель

Postby taras_33 on 23 Aug 2016, 15:16

Borjomy_1 wrote:
А добавить элемент? Как

Никак. И удаление элемента формальное - поле данных остается, только не показывается.

Ну я бы так категорически не утверждал. Почитайте к примеру вот эту ветку Там есть пара примеров, которые я приаттачил

PS особенно понравился CtrsOnDemand
Attachments
Dynamic Control Creation.zip
(178.45 KiB) Downloaded 91 times
CtrsOnDemand.zip
(602.4 KiB) Downloaded 105 times
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
User avatar
taras_33
adviser
adviser
 
Posts: 230
Joined: 31 Oct 2009, 18:25
Location: Minsk -> Miami
Medals: 1
Activity (1)
LabVIEW Version: 2016
Karma: 118
CLD VIP

Re: Динамически изменяемая лицевая панель

Postby Borjomy_1 on 23 Aug 2016, 17:26

Почитайте к примеру вот эту ветку

Сомнительные костыли.... И данном случае вообще рассматривается элемент кластера.
Borjomy_1
expert
expert
 
Posts: 1817
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 319
VIP


Return to Лицевая панель

Who is online

Users browsing this forum: Yandex and 5 guests

cron