Удаление элемента из numeric array

Простейшие вопросы в области инженерной разработки
Ответить
Sergey Puzanov
assistant
assistant
Сообщения: 127
Зарегистрирован: 05 ноя 2020, 08:26
Версия LabVIEW: 18, 20.0f1
Благодарил (а): 24 раза
Поблагодарили: 4 раза
Контактная информация:

Удаление элемента из numeric array

Сообщение Sergey Puzanov »

Добрый день. Появилась необходимость реализовать в интерфейсе удаление элемента из одномерного числового массива. При обычном удалении значения элемента оно возвращается в предыдущее (т.к. не было введено новое число), и соответственно в событие value change тоже попадает исходный массив. Иными словами что требуется:
Дан массив:

20
10
5

Ставлю курсор на второй элемент, стираю полностью значение, ставлю курсор в другое место для обновления, остаётся

20
5

Существует ли что-то костыльно-изящное для такой реализации?
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5479
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Удаление элемента из numeric array

Сообщение IvanLis »

Sergey Puzanov писал(а): 03 май 2024, 14:07 Существует ли что-то костыльно-изящное для такой реализации?
А стандартное решение чем не устраивает?
Sergey Puzanov
assistant
assistant
Сообщения: 127
Зарегистрирован: 05 ноя 2020, 08:26
Версия LabVIEW: 18, 20.0f1
Благодарил (а): 24 раза
Поблагодарили: 4 раза
Контактная информация:

Re: Удаление элемента из numeric array

Сообщение Sergey Puzanov »

IvanLis писал(а): 03 май 2024, 16:41 А стандартное решение чем не устраивает?

Лишним меню для привередливого заказчика. Ему хочется, чтобы было всё интуитивно "удалил - значит, должно удалиться".
AndreyDmitriev

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

Re: Удаление элемента из numeric array

Сообщение AndreyDmitriev »

Sergey Puzanov писал(а): 03 май 2024, 16:59
IvanLis писал(а): 03 май 2024, 16:41 А стандартное решение чем не устраивает?

Лишним меню для привередливого заказчика. Ему хочется, чтобы было всё интуитивно "удалил - значит, должно удалиться".
Если кнопки инкремента/декремента не нужны, то можно массив строк ему подсунуть и на лету только цифры отфильтровывать, там ловить пустую строку и удалять элемент из массива. А, кстати, как он потом вставлять будет значение, если надо?
Ну а если хочется чтоб как цифровой индикатор это выглядело, то вероятно придётся свой контрол лепить, типа XControl или там QControl.
Можно ещё перекрыть поле ввода строкой. Я как-то раз вот так делал:
Изображение
Там строка поверху и разбор через формулу.
Sergey Puzanov
assistant
assistant
Сообщения: 127
Зарегистрирован: 05 ноя 2020, 08:26
Версия LabVIEW: 18, 20.0f1
Благодарил (а): 24 раза
Поблагодарили: 4 раза
Контактная информация:

Re: Удаление элемента из numeric array

Сообщение Sergey Puzanov »

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

По поводу добавления числа всё просто - пишет число в пустой элемент массива, т.е. для него это должно выглядеть как список, где написал снизу - добавилось, стёр в середине - удалилось, порядок не важен.
Аватара пользователя
seromax
beginner
beginner
Сообщения: 15
Зарегистрирован: 09 сен 2022, 11:59
Версия LabVIEW: 18
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: Удаление элемента из numeric array

Сообщение seromax »

На скорую руку и корявенько, но может наведет на какие-то мысли.
Ищу индекс элемента, на который тыкнул. Тут недодумал, беру первый попавшийся. Если есть одинаковые значения в массиве, то некорректно.
Дальше удаляю элемент с этим индексом по Delete.
Вложения
Screenshot_2.png
Screenshot_3.png
Screenshot_4.png
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»