Страница 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 значений в который каждая программа будет записывать номер действия. из этого и считываем номер действия у текущей программы

Изображение