Советы по программированию на LabVIEW

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

Re: Советы по программированию на LabVIEW

Postby rsv on 27 Aug 2019, 09:50

Спасибо, Kosist, переделал.
rsv
beginner
beginner
 
Posts: 32
Joined: 18 Jul 2019, 13:53
LabVIEW Version: 2018
Karma: 0

Re: Советы по программированию на LabVIEW

Postby rsv on 02 Sep 2019, 11:00

И снова, здравствуйте.
Делаю выбор оператора из справочника в базе данных. В целом, работает - на панели отображается список и даёт выбрать. То, что получилось - на скринах.
Вопросы:
1. Как сделать вертикальную прокрутку списка (соответствующий пункт в меню недоступен)?
2. Как программно узнать, какой оператор выбран для дальнейшего использования?
Attachments
07_Выбор оператора.PNG
08_Оператор.PNG
08_Оператор.PNG (2.53 KiB) Viewed 426 times
rsv
beginner
beginner
 
Posts: 32
Joined: 18 Jul 2019, 13:53
LabVIEW Version: 2018
Karma: 0

Re: Советы по программированию на LabVIEW

Postby Artem.spb on 02 Sep 2019, 11:40

rsv wrote:1. Как сделать вертикальную прокрутку списка (соответствующий пункт в меню недоступен)?

сделать 2+ элемента вертикально. Тогда можно будет скрыть горизонтальную прокрутку и показать вертикальную

2. Как программно узнать, какой оператор выбран для дальнейшего использования?

Примерно никак.
массив - не лучший инструмент для выбора, списки в этом плане удобнее.
Если хочется прям массив, то Index Values Property может помочь: если отображается только один элемент, то индекс и будет его "номером"
Artem.spb
expert
expert
 
Posts: 1630
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 263
CLD hardware I/O VIP freelance

Re: Советы по программированию на LabVIEW

Postby rsv on 02 Sep 2019, 12:21

сделать 2+ элемента вертикально. Тогда можно будет скрыть горизонтальную прокрутку и показать вертикальную

Это получилось.

массив - не лучший инструмент для выбора, списки в этом плане удобнее.

Первоначально я и хотел вывести через список. Но совершенное не понял как программно заполнить контролы TextRing, MenuRing & Enum. Или есть ещё какие-то списки, которые можно заполнять программно?
rsv
beginner
beginner
 
Posts: 32
Joined: 18 Jul 2019, 13:53
LabVIEW Version: 2018
Karma: 0

Re: Советы по программированию на LabVIEW

Postby Kosist on 02 Sep 2019, 12:45

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

Re: Советы по программированию на LabVIEW

Postby rsv on 04 Sep 2019, 08:40

Какая оказывается обширная тема - узлы свойств!
Получилось выбрать оператора и записать его ФИО в глобальную переменную. Но, хотелось бы внутри приложения использовать идентификатор оператора из справочника, а не порядковый номер из списка. Вообще возможно заставить список работать со сторонними идентификаторами, а не с порядковым номером, присваиваемым автоматически?
Attachments
09_Выбор оператора.PNG
rsv
beginner
beginner
 
Posts: 32
Joined: 18 Jul 2019, 13:53
LabVIEW Version: 2018
Karma: 0

Re: Советы по программированию на LabVIEW

Postby Kosist on 04 Sep 2019, 09:05

Фишка Ring в том, что ему можно присваивать любые числовые значения (но они не могут повторяться). В то время как Enum может иметь только числа идущие по порядку, начиная с 0. А записать числа в Ring можно при помощи того же узла свойств - если пролистаете его до конца, то увидите там "Strings and Values", которые есть масив кластера со строкой, и соотвествующим ему числом.
Write number to ring.png
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 961
Joined: 21 Feb 2011, 23:44
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 270
CLAD I/O VIP students

Re: Советы по программированию на LabVIEW

Postby rsv on 09 Sep 2019, 15:51

Вот что у меня получилось.
Больше всего в получившейся диаграмме не нравится то, что ФИО и ID приходится вытаскивать из базы отдельными запросами. Но превратить разнотипные массивы в массив кластеров не получилось.
Подскажите, пожалуйста, можно упростить получившуюся диаграмму?
Attachments
09_Выбор оператора с ID.PNG
rsv
beginner
beginner
 
Posts: 32
Joined: 18 Jul 2019, 13:53
LabVIEW Version: 2018
Karma: 0

Re: Советы по программированию на LabVIEW

Postby Borjomy_1 on 09 Sep 2019, 17:36

Ничего не мешает в запросе (select) указать два поля - у вас уже все подготовлено, надо только собрать массив не из одного элемента, а из двух, выделить каждое из результата функцией Index Array, только для первого поля указать индекс 0, а для второго - индекс 1, массивы Variant преобразуете также и вуаля - один запрос - два типа данных.
Borjomy_1
expert
expert
 
Posts: 1896
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 329
VIP

Re: Советы по программированию на LabVIEW

Postby rsv on 10 Sep 2019, 14:13

Теперь получилось. Спасибо, Borjomy_1.
Attachments
09_Выбор оператора с ID оптимизированный.JPG
rsv
beginner
beginner
 
Posts: 32
Joined: 18 Jul 2019, 13:53
LabVIEW Version: 2018
Karma: 0

Previous

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

Who is online

Users browsing this forum: Google and 6 guests

cron