Дублирование функционала

Обсуждение, связанное с разработкой ПО верхнего уровня
Ответить
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Дублирование функционала

Сообщение Aleksey Feoktistov »

Всем привет!
Возникла такая задача: необходимо дублировать фукциональные кнопки, расположенные на передней панели, списком в главном меню. Созрел пока только один вариант:
обрабатываем событие (выбор из главного меню функции - записать в таблицу) -->
локальной переменной, одноименной кнопки, присваиваем единицу -->
выполняется кусок кода для этой функции.

Попытался реализовать несколько иначе. Ивент структура реагирует на нажатие сохранить (в главном меню) или на нажатие одноименной кнопки, но такой вариант не прошел. Как-то, ведь, эта задача решается. Может кто-нибудь сталкивался, помогите :suicide:
Вложения
пробник.JPG
пробник.vi
8.6
(9.85 КБ) 88 скачиваний
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1337
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 44 раза
Контактная информация:

Re: Дублирование функционала

Сообщение AndreyDmitriev »

Классически задачка решается регистрацией динамического события и вызовом его из event структуры как при нажатии кнопки, так и при выборе пункта меню. То есть в event структуре будет три фрейма - по одному для нажатия кнопки и меню и обработчик.
Другой вариант - модель "producer/consumer" - в этом случае делается два while цикла, связанных очередью. В еvent структуре будет два обработчика - они будут писать события в очередь, а второй цикл будет извлекать данные из очереди и выполнять общий участок кода.
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Re: Дублирование функционала

Сообщение Aleksey Feoktistov »

AndreyDmitriev, огромное спасибо за Ваш ответ! :thank:
Второй вариант, вроде как, реализовать удалось. Но, что касается первого алгоритма, то я не смог понять, что же Вы имели ввиду :think:
Вложения
пробник.vi
Свежая версия
(19.89 КБ) 126 скачиваний
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1337
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 44 раза
Контактная информация:

Re: Дублирование функционала

Сообщение AndreyDmitriev »

student писал(а): что касается первого алгоритма, то я не смог понять, что же Вы имели ввиду :think:
см. приложенный pdf
Вложения
Menu Button.pdf
(42.9 КБ) 148 скачиваний
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Re: Дублирование функционала

Сообщение Aleksey Feoktistov »

AndreyDmitriev, спасибо Вам огромное! Все работает просто изумительно. Выкладываю :vi: , думаю, кому-нибудь точно пригодится.
Вложения
пробник2.vi
(14.91 КБ) 139 скачиваний
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1337
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 44 раза
Контактная информация:

Re: Дублирование функционала

Сообщение AndreyDmitriev »

student писал(а):AndreyDmitriev, спасибо Вам огромное! Все работает просто изумительно. Выкладываю :vi: , думаю, кому-нибудь точно пригодится.
Да, примерно так. Есть ещё маленькая хитрость - в случае нескольких однотипных кнопок можно объединять обработчики в один. Получить индекс нажатой кнопки можно так, как показано на скриншоте (там два варианта). Вариант с референсами более универсальный (подойдёт не только для кнопок но вообще для любых однотипных элементов):
Вложения
ButtonByRefScr.png
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Re: Дублирование функционала

Сообщение Aleksey Feoktistov »

AndreyDmitriev, благодарю за ответ, думаю, воспользуюсь вашей рекоммендацией чуть позже. А сейчас у меня все работает :drink:
Ответить

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