TypeDef для Combobox

Простейшие вопросы в области инженерной разработки

TypeDef для Combobox

Postby Alfrol on 15 Nov 2018, 23:42

Доброго времени суток! Возникла проблема TypeDef для Combobox не работает. Точнее, не обновляются его значения на диаграмме при изменении их в typeDef. Информации в интернете нашёл мало, это, как я понял, "особенность LV" и без решения, что странно. Я плохо себе представляю как без этого можно жить. Menu Ring не удобен для работы с case.
Alfrol
interested
interested
 
Posts: 5
Joined: 29 Sep 2018, 23:31
LabVIEW Version: 17
Karma: 0

Re: TypeDef для Combobox

Postby Kosist on 16 Nov 2018, 00:23

Используйте тогда Enum - для селекторов, самое оно.
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 900
Joined: 21 Feb 2011, 23:44
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 253
CLAD I/O VIP students

Re: TypeDef для Combobox

Postby Alfrol on 16 Nov 2018, 00:51

Kosist wrote:Используйте тогда Enum - для селекторов, самое оно.

В Enum, как и в Ring нельзя сделать "текст для ? в case", что очень неудобно. Если будет порядка 10 вариантов, запутаешься какое число чему соответствует. У ComboBox вместо чисел справа то же самое название, что удобно.
Attachments
enum.png
Alfrol
interested
interested
 
Posts: 5
Joined: 29 Sep 2018, 23:31
LabVIEW Version: 17
Karma: 0

Re: TypeDef для Combobox

Postby Kosist on 16 Nov 2018, 01:10

Alfrol wrote:В Enum, как и в Ring нельзя сделать "текст для ? в case", что очень неудобно. Если будет порядка 10 вариантов, запутаешься какое число чему соответствует. У ComboBox вместо чисел справа то же самое название, что удобно.

Это неверно. Когда Вы подключаете Enum к селектору Case Structure, то увидите там не числа, а текст энумератора. Поэтому запоминать, какому числу соответствует какое название не нужно. В этом и особенность, и удобство использования Enum в качестве селектора.
В общем, пару особенностей Ring и Enum.
Ring хорош тем, что тексту можно присваивать произвольное числовое значение, в то время как для Enum текста это значение присваивается автоматически, согласно порядковому номеру.
Ring значения можно изменять во время исполнения кода, а в Enum дописать/убрать/изменить порядок значений во время выполнения нельзя; это можно делать только при помощи скриптинга.
Подключая Ring к селектору Case Structure, селектором будут числа; а для Enum - как я уже написал выше - текстовое значение энума.
По Combobox все проще, т.к. это по-сути лишь строковой тип данных, в который можно записать значения в виде списка во время выполнения виайки + можно вводить данные, таким образом "выбирая" значения (что нельзя делать для Ring); просто drop-down список...
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 900
Joined: 21 Feb 2011, 23:44
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 253
CLAD I/O VIP students

Re: TypeDef для Combobox

Postby taras_33 on 16 Nov 2018, 04:30

Если уж очень хочется, то можно поиграться со скриптингом.
А вообще полностью согласен с Kosist - Enum для case хороший выбор.
Attachments
ComboBox.zip
(21.75 KiB) Downloaded 14 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
developer
developer
 
Posts: 257
Joined: 31 Oct 2009, 18:25
Location: Minsk -> Miami
Medals: 1
Activity (1)
LabVIEW Version: 2016
Karma: 121
CLD VIP

Re: TypeDef для Combobox

Postby Artem.spb on 16 Nov 2018, 11:15

strict type def успешно обновляет.
Вопрос, устроит ли вас невозможность менять размеры.

Ну до кучи присоединюсь к предыдущим ораторам. Enum позволяет ещё и контролировать, что никакие новшества не забыты.
Artem.spb
expert
expert
 
Posts: 1456
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 249
CLD hardware I/O VIP freelance


Return to Для чайников

Who is online

Users browsing this forum: Google and 21 guests

cron