Массив в строку

Массив строка

Создаем свой блок. Вопросы, помощь знатоков.
Ответить
DrScorpion86
Рядовой
Сообщения: 59
Зарегистрирован: 28.04.2021{, 14:45}
Репутация: 30
Имя: Евгений

Массив в строку

#1

Сообщение DrScorpion86 » 18.01.2022{, 16:22}

Подскажите, пожалуйста, как перевести весь массив в строку?
Т.е. Имеется массив из 100 значений (индекс 0 = значение 0, индекс 1 = значение 1, индекс 2 = значение 2, .... индекс 99 = значение 99)
этот массив нужно записать в переменную(String) такого вида - значение 0, значение 1, значение 2, .... значение 99
При этом, если в массиве нет значение (например индекс 42 = "пустая строка"), то в переменную должно записаться "undefined"(да в принципе можно любое слово/знак).

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Массив в строку

#2

Сообщение Dryundel » 18.01.2022{, 17:12}

Так обычное сложение строк. Складываешь элементы массива плюс запятые. Волшебного блока для этого нет.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Массив в строку

#3

Сообщение AlexCrane » 18.01.2022{, 18:24}

DrScorpion86, Попробуй
Новая версия сдесь viewtopic.php?p=111436#p111436
Последний раз редактировалось AlexCrane 19.01.2022{, 18:11}, всего редактировалось 2 раза.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

DrScorpion86
Рядовой
Сообщения: 59
Зарегистрирован: 28.04.2021{, 14:45}
Репутация: 30
Имя: Евгений

Массив в строку

#4

Сообщение DrScorpion86 » 19.01.2022{, 08:18}

AlexCrane писал(а):
18.01.2022{, 18:24}
DrScorpion86, Попробуй
Массив в строку.flp
Шикарно! То что нужно :smile9:

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Массив в строку

#5

Сообщение Sancho » 19.01.2022{, 09:05}

Имхо.
AlexCrane, Ваша помощь очень востребована пользователями.
Но такие простые решения реализуются средствами flp.
Давно замечаю, что народу проще попросить сделать готовый блок, чем самому попробовать сложить несколько блоков в цепочку. Печально.
Ещё раз замечу - сугубо моё мнение.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

aidar_i
Полковник
Сообщения: 3121
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Массив в строку

#6

Сообщение aidar_i » 19.01.2022{, 10:10}

Sancho писал(а):
19.01.2022{, 09:05}
Имхо.
AlexCrane, Ваша помощь очень востребована пользователями.
Но такие простые решения реализуются средствами flp.
Давно замечаю, что народу проще попросить сделать готовый блок, чем самому попробовать сложить несколько блоков в цепочку. Печально.
Ещё раз замечу - сугубо моё мнение.
Не суди уж его так строго, он блок не просил же, спросил как сделать. Можно было показать в флпроге или послать.... изучать матчасть. И его вопрос решается без экстрасенсов :)

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Массив в строку

#7

Сообщение Dryundel » 19.01.2022{, 13:31}

Sancho писал(а):
19.01.2022{, 09:05}
Давно замечаю, что народу проще попросить сделать готовый блок, чем самому попробовать сложить несколько блоков в цепочку.
Полностью согласен.
DrScorpion86 писал(а):
19.01.2022{, 08:18}
Можно было показать в флпроге или послать...
Дык была же уже подсказка.
AlexCrane писал(а):
18.01.2022{, 18:24}
DrScorpion86, Попробуй
Массив в строку.flp
А теперь в защиту автора.
Сделал таки волшебный блок. :)
Ай млодца.
Конечно же этот блок займёт гораздо меньше памяти МК нежели "веревочка со стрингами" из 99 значений средствами FLProg. Цикл однако.
Подобный блок уже давно напрашивался.
AlexCrane, не останавливайся. Продолжи мысль и дополни его склеиванием цифровых значений без использования стрингов.
И в конце то концов выставляй уже R-триггеры внутрь блоков где необходимо. Постоянно на тебя ворчу за это, про себя правда.
А вообще уже Давненько мысль бродит дополнить набор блоков для работы с массивами.
К примеру сделать нормальный стек, а то в штатном вложить элемент можно, а вот забрать нельзя. Буфер FIFO надо бы сделать нормальный. Склейка массивов тоже не помешает.
Многомерный массив ещё хочется и динамический тоже.
Чёт меня понесло... :smile171:

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Массив в строку

#8

Сообщение Ingwar » 19.01.2022{, 14:00}

Dryundel писал(а):
19.01.2022{, 13:31}
А вообще уже Давненько мысль бродит дополнить набор блоков для работы с массивами.
К примеру сделать нормальный стек, а то в штатном вложить элемент можно, а вот забрать нельзя. Буфер FIFO надо бы сделать нормальный. Склейка массивов тоже не помешает.
Многомерный массив ещё хочется и динамический тоже.
В догонку - блок для заполнения массива копипастом (с каким нибудь разделителем)... :smile38:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Массив в строку

#9

Сообщение AlexCrane » 19.01.2022{, 15:48}

DrScorpion86, Исправил блок. Добавил разделитель. Потестируй
Массив в строку v1.2.flp
(339.19 КБ) 56 скачиваний
(исправленный)
Sancho писал(а):
19.01.2022{, 09:05}
Но такие простые решения реализуются средствами flp.
Возможно, я учился расставлять кубики изучая чужие проекты, потом научился делать блоки изучая чужие блоки. Может и мои блоки пойдут кому-то в пользу
Dryundel писал(а):
19.01.2022{, 13:31}
И в конце то концов выставляй уже R-триггеры внутрь блоков где необходимо.
Там где это необходимо пусть решают пользователи, я на входе всегда подсказываю значком _|_ , что тут нужен RTrig
Dryundel писал(а):
19.01.2022{, 13:31}
К примеру сделать нормальный стек, а то в штатном вложить элемент можно, а вот забрать нельзя. Буфер FIFO надо бы сделать нормальный. Склейка массивов тоже не помешает.
Многомерный массив ещё хочется и динамический тоже.
Помедленнее, я не успеваю записывать....
Последний раз редактировалось AlexCrane 19.01.2022{, 16:26}, всего редактировалось 1 раз.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

DrScorpion86
Рядовой
Сообщения: 59
Зарегистрирован: 28.04.2021{, 14:45}
Репутация: 30
Имя: Евгений

Массив в строку

#10

Сообщение DrScorpion86 » 19.01.2022{, 15:49}

Ingwar писал(а):
19.01.2022{, 14:00}
В догонку - блок для заполнения массива копипастом (с каким нибудь разделителем)... :smile38:
Вот это, как раз, не сложно сделать:)
arr01.jpg
arr01.jpg (12.1 КБ) 1063 просмотра

Sancho, aidar_i, Dryundel,
Раз 10 просмотрев все стандартные блоки понял, что на реализации задуманного можно заблудится.
arr01.jpg
arr01.jpg (12.1 КБ) 1063 просмотра
Изучаю щас Javascript и знаю, что с помощью циклов можно перебрать массив и сделать с ним всё что угодно:)
Но т.к. я ещё не изучал синтаксис С и создания пользовательских блок, обратился за помощью:)

А вот и он... тот самый цикл перебора массива и записи его в другую переменную:)
arr03.jpg
Вложения
arr02.png
arr02.png (6.25 КБ) 1063 просмотра

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Массив в строку

#11

Сообщение Dryundel » 19.01.2022{, 15:54}

AlexCrane писал(а):
19.01.2022{, 15:48}
Там где это необходимо пусть решают пользователи, я на входе всегда подсказываю значком _|_ , что тут нужен RTrig
Если он нужен в 100% случаев нафига подсказывать? Логичней "укомплектовать". ИМХО
AlexCrane писал(а):
19.01.2022{, 15:48}
Помедленнее, я не успеваю записывать....
:D Расслабься. Часть из этих пожеланий к Автору.

Отправлено спустя 1 минуту 53 секунды:
DrScorpion86 писал(а):
19.01.2022{, 15:49}
Вот это, как раз, не сложно сделать:)
Не про то речь идет. Суть в том, что бы изначально заполнить массив из какой нибудь таблицы копипастом, а не набивать ручками.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Массив в строку

#12

Сообщение Ingwar » 19.01.2022{, 16:03}

Dryundel писал(а):
19.01.2022{, 15:56}
Не про то речь идет. Суть в том, что бы изначально заполнить массив из какой нибудь таблицы копипастом, а не набивать ручками.
:yes:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

DrScorpion86
Рядовой
Сообщения: 59
Зарегистрирован: 28.04.2021{, 14:45}
Репутация: 30
Имя: Евгений

Массив в строку

#13

Сообщение DrScorpion86 » 19.01.2022{, 16:07}

AlexCrane писал(а):
19.01.2022{, 15:48}
DrScorpion86, Исправил блок. Добавил разделитель. Потестируй
Массив в строку v1.2.flp
ФЛПрог 7.4.2
arr04.jpg
Test_7_4_2_Массивы.zip
(63.59 КБ) 34 скачивания

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Массив в строку

#14

Сообщение AlexCrane » 19.01.2022{, 16:27}

DrScorpion86, Недосмотрел, исправил, перекачай выше viewtopic.php?f=112&t=7843&p=111436#p111436
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

DrScorpion86
Рядовой
Сообщения: 59
Зарегистрирован: 28.04.2021{, 14:45}
Репутация: 30
Имя: Евгений

Массив в строку

#15

Сообщение DrScorpion86 » 19.01.2022{, 16:46}

AlexCrane, Весчь!!! :smile9: :smile9:
arr05.jpg
всё выводится на вэб интерфейс :)
Screenshot_2022-01-19-16-42-33-213_com.android.chrome.jpg

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Массив в строку

#16

Сообщение Sancho » 19.01.2022{, 19:43}

Dryundel писал(а):
19.01.2022{, 13:31}
Конечно же этот блок займёт гораздо меньше памяти МК нежели "веревочка со стрингами" из 99 значений средствами FLProg. Цикл однако.
DrScorpion86 писал(а):
19.01.2022{, 15:49}
Раз 10 просмотрев все стандартные блоки понял, что на реализации задуманного можно заблудится.
А ежели всё-таки из кубиков?
Не проверял.

Отправлено спустя 3 минуты 36 секунд:
Для понимания возможностей кубиков и плат
Вложения
Массив в строку_01.flp
(212.33 КБ) 45 скачиваний
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Массив в строку

#17

Сообщение Dryundel » 19.01.2022{, 20:21}

Sancho писал(а):
19.01.2022{, 19:47}
А ежели всё-таки из кубиков?
Эко ты изъе.. умудрился. :)
Работает в принципе.
Но ...
Есть несколько НО.
1. Объяснить весь этот компот новичку довольно сложно. Сложней чем написать блок.
2. Требовалось вводить undefined если строка (этемент) пустая. Стринговый массив на входе видимо.
Можно и эту проверку было добавить, не спорю. Но как все это объяснить? С ума сойдешь.
Конечно, понимая что такое циклы, зная их синтаксис, да еще и четко зная что плата может быть циклом можно и умудриться, ах да, правильно, умудриться.

Ответить

Вернуться в «Разработка пользовательских блоков»