Цифровой элемент управления Labview - кнопки увеличения / уменьшения, умножающие значение, а не увеличивающие его

Я хотел бы использовать кнопки увеличения / уменьшения в числовом поле управления, чтобы быстро охватить широкий диапазон значений. Для этого я хотел бы, чтобы кнопки увеличения / уменьшения работали как умножение / деление на константу.

Одним из примеров может быть выбор номиналов резистора. Чтобы выбрать значения в серии E12, нужно начать с 1 и многократно умножать его на 10 ^ (1/12). 12 - сколько значений на десятилетие вам нужно.

Есть ли способ изменить функцию кнопок вверх / вниз или мне нужно написать свой собственный элемент управления?


person Szymon Bęczkowski    schedule 23.09.2013    source источник


Ответы (3)


Для простоты используйте числовой элемент управления как целое число (скажем, N) и подключите 10 ^ (N / 12).

введите описание изображения здесь

person Erik Olson    schedule 23.09.2013

Вы можете сделать это, прослушав событие «Значение изменено», которое определяет, использовалось ли увеличение или уменьшение, и принудительно устанавливает соответствующее значение:

Изображение блок-схемы

LabVIEW 2010, пример ВП

person CharlesB    schedule 23.09.2013
comment
Если пользователь вводит новое значение непосредственно в элементе управления «Фактор», не перезапишет ли этот код его? - person nekomatic; 24.09.2013
comment
Нет, он использует только значение Factor и соответственно перезаписывает Numeric - person CharlesB; 24.09.2013
comment
Извините, моя опечатка: если пользователь вводит новое значение непосредственно в Numeric, то событие срабатывает, и значение пользователя будет перезаписано. - person nekomatic; 25.09.2013
comment
Вы правы, чтобы справиться с этим, следует применять коэффициент только в том случае, если разница между старым и новым составляет +/- 1. - person CharlesB; 25.09.2013

Если вы хотите, чтобы пользователь мог выбирать из фиксированного списка значений, такого как серия резисторов E12, рассмотрите возможность использования кольца или перечисления вместо числового элемента управления (список в кольце может быть изменен во время выполнения, список в перечислении не может). Используйте значение кольца или перечисления, чтобы найти числовое значение в массиве.

Если вы хотите, чтобы пользователь мог вводить произвольное значение в числовой элемент управления, но также использовать кнопки увеличения / уменьшения для масштабирования значения вверх или вниз, вы можете использовать числовой элемент управления, кнопки увеличения / уменьшения которого видны, но скрывают числовую запись поле за вторым числовым элементом управления без кнопок. Используйте событие Value Changed для скрытого элемента управления, как показано в ответе CharlesB, чтобы обновить значение в видимом элементе управления, когда пользователь увеличивает или уменьшает скрытый элемент управления.

person nekomatic    schedule 24.09.2013