Многофункциональная кнопка

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

Многофункциональная кнопка

Postby LEO_NIK on 23 Dec 2016, 20:34

Здравствуйте! Есть ВП и у него два режима работы (как они переключаются для моего вопроса, полагаю, не важно). На лицевой панели пусть для простоты одна кнопка с надписью "1; a, b, c" и индикатор ( если точно, то на лицевой панели кроме функциональных кнопок расположены кнопки-клавиатура как у сотового телефона и индикатор) . В Режиме №1 при нажатии на эту кнопку на индикаторе всегда появляется только цифра, соответствующая этой кнопке, в моём примере "1". В режиме №2 этой кнопке соответствуют 3 буквы: a, b, c. Дальше, как в сотовом при наборе СМС. По циклу: при однократном нажатии на индикаторе высветится буква "a", при последовательном, без паузы (её надо задать, например, 1-2 сек) двукратном нажатии - "b", три раза - "с". Видимо, и удаление неправильной буквы, если пауза превышена. Как реализовать многофункциональность одной кнопки?
Если необходимо уточнение, то сами кнопки - в кластере, считывание по Label с помощью свойства Controls.
LEO_NIK
user
user
 
Posts: 86
Joined: 09 Sep 2016, 20:09
LabVIEW Version: 2013
Karma: 0

Re: Многофункциональная кнопка

Postby Kosist on 23 Dec 2016, 21:09

Идейно можно сделать так. Нажали на кнопку, считываете ее лейбл. Если это число, то вводите число. Если буквы - то считаете нажатия (нужен какой-то простой счетчик с таймером), и по количеству нажатий пишете нужную букву, и сбрасываете лейбл кнопки снова на буквы. А изначально, лейбл меняется в зависимости от выбранного режима.
Но лучше лейбл не трогать, а использовать Boolean Text.
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 786
Joined: 21 Feb 2011, 23:44
Location: СумГУ
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 236
CLAD I/O VIP students

Re: Многофункциональная кнопка

Postby LEO_NIK on 23 Dec 2016, 21:22

LEO_NIK
user
user
 
Posts: 86
Joined: 09 Sep 2016, 20:09
LabVIEW Version: 2013
Karma: 0

Re: Многофункциональная кнопка

Postby Kosist on 23 Dec 2016, 22:41

Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 786
Joined: 21 Feb 2011, 23:44
Location: СумГУ
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 236
CLAD I/O VIP students

Re: Многофункциональная кнопка

Postby LEO_NIK on 23 Dec 2016, 23:28

LEO_NIK
user
user
 
Posts: 86
Joined: 09 Sep 2016, 20:09
LabVIEW Version: 2013
Karma: 0

Re: Многофункциональная кнопка

Postby Kosist on 24 Dec 2016, 00:17

За код сильно не бейте - это просто идейно, proof of concep...
Одиночную кнопку можно заменить кластером, но тогда нужно на каждую кнопку навесить массив букв, и выбирать из них по индексу - так будет лучше, чем сейчас.
Так что связать кластер/кнопку, Event Structure и цикл можно как-то так...
Attachments
enter letter.vi
(14.4 KiB) Downloaded 34 times
Enter letter.png
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 786
Joined: 21 Feb 2011, 23:44
Location: СумГУ
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 236
CLAD I/O VIP students

Re: Многофункциональная кнопка

Postby Blackman on 24 Dec 2016, 01:13

Первая кнопка при удержании зацикливается через заданные символы. Скоростью цикла можно управлять клавишей Shift (свойство LabVIEW).
Вторая кнопка имитирует работу кнопки телефона в текстовом режиме. При удержании устанавливается в цифру. Клавиша Shift не влияет.
Attachments
Phone Button FP.PNG
Phone Button FP.PNG (5.56 KiB) Viewed 2238 times
Blackman--Phone Button.vi
(14.11 KiB) Downloaded 35 times
Blackman
leader
leader
 
Posts: 695
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 174

Re: Многофункциональная кнопка

Postby LEO_NIK on 24 Dec 2016, 02:26

Спасибо Kosist и Blackman. Пока занимался сам, пришли Ваши сообщения. Ещё их не смотрел. За это время я моделировал с 1-й кнопкой. Ранее я не отметил, что кнопка с самовозвратом, а вот цифра или буква при нажатии должна оставаться даже после самовозврате кнопки. Что-то получилось, правда кнопка СТОП не работает, но мне сейчас это и не важно. Посмотрите мой вариант. Возможно, Вам покажется, что можно сделать и проще, но я стремился делать поближе к проектируемому ВП, где именно такой алгоритм - с МАШИНОЙ СОСТОЯНИЙ.
Attachments
Пример одну буквенно-цифровую кнопку.vi
(18.45 KiB) Downloaded 37 times
LEO_NIK
user
user
 
Posts: 86
Joined: 09 Sep 2016, 20:09
LabVIEW Version: 2013
Karma: 0

Re: Многофункциональная кнопка

Postby LEO_NIK on 24 Dec 2016, 02:51

LEO_NIK
user
user
 
Posts: 86
Joined: 09 Sep 2016, 20:09
LabVIEW Version: 2013
Karma: 0

Re: Многофункциональная кнопка

Postby Blackman on 24 Dec 2016, 10:12

:think:
Attachments
Phone Button BD.PNG
Blackman--Phone Button 13.vi
(9.41 KiB) Downloaded 36 times
Blackman
leader
leader
 
Posts: 695
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 174

Re: Многофункциональная кнопка

Postby LEO_NIK on 24 Dec 2016, 11:28

LEO_NIK
user
user
 
Posts: 86
Joined: 09 Sep 2016, 20:09
LabVIEW Version: 2013
Karma: 0

Re: Многофункциональная кнопка

Postby LEO_NIK on 24 Dec 2016, 14:14

Attachments
Blackman--Phone Button 13 New .vi
(19.05 KiB) Downloaded 36 times
LEO_NIK
user
user
 
Posts: 86
Joined: 09 Sep 2016, 20:09
LabVIEW Version: 2013
Karma: 0

Re: Многофункциональная кнопка

Postby Blackman on 24 Dec 2016, 15:24

Это обычный Enum c одной измененной кнопкой Increment. Разберите "кнопку" в редакторе и все станет понятно. Вторая картинка меняется так же как и первая. Вы зря удалили первый пустой символ. Он наверняка понадобится. Добавил кнопку для цифры "3". Так как нет "boolean text" картинки придется делать для каждой кнопки свои или найти готовые и скачать.
Attachments
Blackman--Phone Button 13 New .vi
(19.76 KiB) Downloaded 35 times
Blackman
leader
leader
 
Posts: 695
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 174

Re: Многофункциональная кнопка

Postby LEO_NIK on 24 Dec 2016, 18:37

LEO_NIK
user
user
 
Posts: 86
Joined: 09 Sep 2016, 20:09
LabVIEW Version: 2013
Karma: 0

Re: Многофункциональная кнопка

Postby LEO_NIK on 24 Dec 2016, 20:36

LEO_NIK
user
user
 
Posts: 86
Joined: 09 Sep 2016, 20:09
LabVIEW Version: 2013
Karma: 0


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

Who is online

Users browsing this forum: No registered users and 3 guests

cron