Добрый день! Посоветуйте пожалуйста, как решить следующую задачу:
1. Необходимо выводить текст по условию(по нажатию различных кнопок) в table control.
1.1. Если table control пустой то записываем в первую строку сообщение.
1.2. Если первая строка не пустая, переходим на вторую и так далее.
1.3. Если кнопку отжали, то та строка в которую записались события о нажатии кнопки, должна стать пустой.
В общем, мне примерно представляется алгоритм следующим образом(предположим, что произошло нажатие кнопки):
1) Проверяем первую строку, если пустая, то записываем, если нет, переходим на следующую(вот собственно как реализовать автоматический переход если у нас 1000 заполненных строк).
2) Кнопку отжали, находим записанное значение(просто сравниваем значение в ячейке со значением с кнопки, повторяющихся значений в table control не будет), делаем строку пустую(а как ее целиком удалить? т.е. сместить индексы последующих элементов на 1 влево, при этом недорого и быстро).
И еще меня интересует возможность скрывать пустые строки, то есть изначально задать размеры table control, если что то записываем и наша запись выходит за размеры table control, то просто пользуемся полосой прокрутки для просмотра информации. Иначе, если например у нас всего одна строка, а например размеры table control рассчитаны на 5 таких строк, то мы растягиваем эту строку по размеру table control.
Добавить текст в Table Control
-
- beginner
- Сообщения: 27
- Зарегистрирован: 20 июл 2017, 12:35
- Версия LabVIEW: 14
- Контактная информация:
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 173 раза
- Контактная информация:
Re: Добавить текст в Table Control
table control - это 2D массив строк.
так что мудрить с поиском последней нет необходимости - достаточно добавить 1d массив в конец имеющегося.
С удаление маналогично - удалить строку/столбец из массива и отправить его (массив) обратно в индикатор.
Размер коонтрола программно можно задавать свойствами Number of Columns/Rows
http://zone.ni.com/reference/en-XX/help ... p/table_p/
так что мудрить с поиском последней нет необходимости - достаточно добавить 1d массив в конец имеющегося.
С удаление маналогично - удалить строку/столбец из массива и отправить его (массив) обратно в индикатор.
Размер коонтрола программно можно задавать свойствами Number of Columns/Rows
http://zone.ni.com/reference/en-XX/help ... p/table_p/
-
- beginner
- Сообщения: 27
- Зарегистрирован: 20 июл 2017, 12:35
- Версия LabVIEW: 14
- Контактная информация:
Re: Добавить текст в Table Control
И как это можно сделать?Artem.spb писал(а):table control - это 2D массив строк.
так что мудрить с поиском последней нет необходимости - достаточно добавить 1d массив в конец имеющегося.
С удаление маналогично - удалить строку/столбец из массива и отправить его (массив) обратно в индикатор.
Размер коонтрола программно можно задавать свойствами Number of Columns/Rows
<!-- m --><a class="postlink" href="http://zone.ni.com/reference/en-XX/help ... en-XX/help ... p/table_p/</a><!-- m -->
-
- beginner
- Сообщения: 27
- Зарегистрирован: 20 июл 2017, 12:35
- Версия LabVIEW: 14
- Контактная информация:
Re: Добавить текст в Table Control
Реализовал с помощью build array, теперь вопрос о том как удалить добавленный массив.engineer_7 писал(а):И как это можно сделать?Artem.spb писал(а):table control - это 2D массив строк.
так что мудрить с поиском последней нет необходимости - достаточно добавить 1d массив в конец имеющегося.
С удаление маналогично - удалить строку/столбец из массива и отправить его (массив) обратно в индикатор.
Размер коонтрола программно можно задавать свойствами Number of Columns/Rows
<!-- m --><a class="postlink" href="http://zone.ni.com/reference/en-XX/help ... en-XX/help ... p/table_p/</a><!-- m -->
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 173 раза
- Контактная информация:
Re: Добавить текст в Table Control
как ни странно, в той же палитре array есть и функция delete from array, указываете ей номер столбца/строки, и она его удаляет.
-
- beginner
- Сообщения: 27
- Зарегистрирован: 20 июл 2017, 12:35
- Версия LabVIEW: 14
- Контактная информация:
Re: Добавить текст в Table Control
Артем, спасибо за терпение, разобрался яArtem.spb писал(а):как ни странно, в той же палитре array есть и функция delete from array, указываете ей номер столбца/строки, и она его удаляет.
загрузка картинок
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 173 раза
- Контактная информация:
Re: Добавить текст в Table Control
Изображения нужно загружать на сервер.
И , это не паскаль, тут нет надобности заводить переменные.
Вот два варианта решения без них. Во втором случае надо бы ещё проверять индекс на выход за диапазаоны массива, иначе программа может уйти в бесконечный цикл, если строка так и не будет найдена.
И , это не паскаль, тут нет надобности заводить переменные.
Вот два варианта решения без них. Во втором случае надо бы ещё проверять индекс на выход за диапазаоны массива, иначе программа может уйти в бесконечный цикл, если строка так и не будет найдена.
-
- beginner
- Сообщения: 27
- Зарегистрирован: 20 июл 2017, 12:35
- Версия LabVIEW: 14
- Контактная информация:
Re: Добавить текст в Table Control
Артем, понял Вас, исправил. А хотел бы узнать, как в labview влияют на производительность и память дополнительные переменные(локальные/глобальные)? Может есть какие нибудь статьи по написанию качественного производительного кода?Artem.spb писал(а):Изображения нужно загружать на сервер.
И , это не паскаль, тут нет надобности заводить переменные.
Вот два варианта решения без них. Во втором случае надо бы ещё проверять индекс на выход за диапазаоны массива, иначе программа может уйти в бесконечный цикл, если строка так и не будет найдена.
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 173 раза
- Контактная информация:
Re: Добавить текст в Table Control
Переменные в разумных пределах тормозят не очень, хотя каждое обращение к переменной может требовать выделения памяти под ней, но на современных машинах при малых объёмах обрабатываемых данных вы этого не заметите.
Дело в другом, - это другой стиль программирования, потоком данных.
Наличие переменных затрудняет отладку, потому что кто его знает, где ещё эта переменная пишется. плюс может возникнуть гонка приоритетов, если к переменной обращаются одновременно несколько функций.
Из книг могу посоветовать Питер Блюм "LabVIEW: стиль программирования"
Правда я её читал лет 10 назад, и появилось ли что-то новее и лучше, не знаю.
Дело в другом, - это другой стиль программирования, потоком данных.
Наличие переменных затрудняет отладку, потому что кто его знает, где ещё эта переменная пишется. плюс может возникнуть гонка приоритетов, если к переменной обращаются одновременно несколько функций.
Из книг могу посоветовать Питер Блюм "LabVIEW: стиль программирования"
Правда я её читал лет 10 назад, и появилось ли что-то новее и лучше, не знаю.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 2 Ответы
- 1017 Просмотры
-
Последнее сообщение milakhimov
-
- 3 Ответы
- 745 Просмотры
-
Последнее сообщение dadreamer
-
- 5 Ответы
- 847 Просмотры
-
Последнее сообщение dadreamer