Страница 1 из 1
Работа с массивами
Добавлено: 22.12.2017{, 19:40}
t405
Друзья, приветствую, осваиваю программу и столкнулся с задачкой, которая вынудила обратиться к вам.
Опишу вкратце ее.
Есть несколько линий, для каждой должны выбрать программу работы. Каждая программа работы содержит 10 различных значений(integer).
Т.е. у меня получились массивы:
Программа работы линии byte(индекс - номер линии; значиение - номер программы)
Названия программ работы string(индекс - номер программы; значение - название программы)
Названия действий программ string(индекс - номер действия; значение - название действия)
Получается, что мне нужно создать еще массивы с названиями программ, только как выбирать этот массив, если мы только знаем его имя, но не можем передать его на вход блока запись/получение элемента массива?
Не гибкая система получается (((
Работа с массивами
Добавлено: 22.12.2017{, 20:01}
pan
может стОит попробовать MUX вместо массивов?
а на входа зафигачить константы
Работа с массивами
Добавлено: 22.12.2017{, 21:16}
t405
Спасибо за быстрый ответ. Все равно что-то не могу понять как сделать гибкую систему, чтобы она была конфигурябельная.
У меня была логика такая:
массив по линиям, берем 0 линию, допустим там 1, обращаемся в массив программ с индексом 1, получаем название массива с описанием действий.
сложно все и заморочено, может можно закодировать 10 действий (integer) в одну переменную и записать ее в массив? Чтобы подавалась декодированию еще
Работа с массивами
Добавлено: 22.12.2017{, 21:28}
pan
Работа с массивами
Добавлено: 22.12.2017{, 21:54}
t405
Что то не соображу никак (((
Работа с массивами
Добавлено: 22.12.2017{, 21:58}
pan
зачем вы цепляете их последовательно.
параллельно попробуйте. под спойлером показал
Работа с массивами
Добавлено: 22.12.2017{, 22:02}
t405
Я тогда не пойму как параллельно должно работать.
например индекс 1. Получаем 1 линия, описание одного действия и описание программы
линий 5, действий в программе 10, программ 30, как оно к одному индексу будет привязано? Извиняюсь, что туплю.
Работа с массивами
Добавлено: 22.12.2017{, 22:10}
pan
t405 писал(а):линий 5, действий в программе 10, программ 30,
так сразу бы и написали.
вы хотите это всё выбирать с помощью одной переменной?
Работа с массивами
Добавлено: 22.12.2017{, 22:22}
t405
я не знаю как это сделать
грубо говоря, мне нужно посмотреть какая программа висит на конкретной линии и из каких действий состоит эта программа.
Работа с массивами
Добавлено: 22.12.2017{, 22:45}
pan
скорее всего придется делать массив на 30 значений в котором будут храниться номера действий для каждой
программы
Работа с массивами
Добавлено: 23.12.2017{, 09:15}
t405
Ну да, только мне получается надо в одной ячейке под одним индексом хранить сразу 10 значений (integer)этой программы, а как это лучше сделать?
Работа с массивами
Добавлено: 23.12.2017{, 10:06}
Sancho
t405 писал(а):Ну да, только мне получается надо в одной ячейке под одним индексом хранить сразу 10 значений (integer)этой программы, а как это лучше сделать?
Создать двух-мерный массив в пользовательском блоке. С любой размерность.
Можно создать массив с вложенными массивами.
Работа с массивами
Добавлено: 23.12.2017{, 11:12}
t405
в 3.0.3 при попытке создать пользовательский блок - его окно куда то прячется (
Работа с массивами
Добавлено: 23.12.2017{, 11:49}
Sancho
t405 писал(а):при попытке создать пользовательский блок - его окно куда то прячется (
Было пару раз - выходило за пределы экрана. Не помню, но как-то вытащил.
Что-то было связанно с масштабом отображения - типа "удобство чтения - крупный" ....
Работа с массивами
Добавлено: 23.12.2017{, 13:48}
pan
t405 писал(а):только мне получается надо в одной ячейке под одним индексом хранить сразу 10
зачем.
pan писал(а):делать массив на 30 значений в котором будут храниться номера действий для каждойпрограммы
один массив на 30 значений это массив с номерами программ. сделать еще один массив на 30 значений в который каждая программа будет записывать номер действия. из этого и считываем номер действия у текущей программы