Мне приснилась FLProg 9.0.0 (Функции)

Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Dryundel »

[ref=#00aa00]support[/ref]!
Сегодня мне приснилась FLProg 9.0.0 :smile171:
.
А если серьезно, вчера, когда я уже был готов отправиться в царство Морфея, мне пришла безумная идея.
На сколько она безумна, судить Вам.
Но я полночи не мог заснуть, шурупил как все это изложить.
.
А что если добавить в программу окно(вкладку) создания функций?
Скажем она могла бы располагаться и выдвигаться снизу.
В ней создаем ПБ функции со входами (параметрами) и выходами (Return)
Используем в ней любые доступные блоки.
Далее как обычный блок, вставляем функцию в прект и ...
.
Ну на этом как бы всё. :)
Наверное проще показать.
.
[spoiler=Вот картинка, как я это вижу]
FLProg 9 0.jpg
[/spoiler]
.
Правда есть побочное явление.
[ref]ecoins[/ref], сразу же создаст FLP-RTOS. :D
Ну возможно это тоже будет интересно.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение aidar_i »

Короновирус, штамп flp у Вас.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение edyapd »

Dryundel писал(а): 20 сен 2021, 11:12 А что если добавить в программу окно(вкладку) создания функций?
Подобное предложение у меня уже полгода как в мозгу сидит. Единственное, наверное, что меня останавливало это ваш ответ в духе "учи С++ и создавай ПБ. И не морочь голову автору программы".
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Dryundel »

edyapd писал(а): 20 сен 2021, 13:13 Единственное, наверное, что меня останавливало это ваш ответ в духе "учи С++ и создавай ПБ. И не морочь голову автору программы".
Ээээ... Чего то Вы передергиваете. Так я сказать не мог. :)
aidar_i писал(а): 20 сен 2021, 12:47 Короновирус, штамп flp у Вас.
Считаете что я совсем больной, на всю голову? Очень может быть. Со стороны видней. :)
.
А если серьезно, вижу в этом перспективу.
1. Возможное сокращение размера скетча за счет упаковывания повторяющихся кусков кода в функцию.
2. Становится возможным воплощения подобия RTOS
3. Не плохой пример для понимания что же такое функция и как она работает.
.
В принципе ничего особо сложного не вижу в воплощении. Это же просто еще одна программа(клон) FLProg внутри той же FLProg.
com
Капитан
Сообщения: 832
Зарегистрирован: 31 май 2018, 22:12
Откуда: Санкт-Петербург
Имя: Ринат

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение com »

Вот буквально на той неделе узнал про существование dsp аудиопроцессоров фирмы analog devise, и что для их поограммирования есть программа практически родственник flprog, называется sigma studio. Окна блоки, принцип такой же, но есть и отличия. Например, оказывается можно загружать созданную программу в озу и(или) в пзу. То я не мог понять поначалу почему прошивка слетает. Примечательно то, что загрузка в озу идет всего пару секунд. Ну очень удобно, а еще если подать аудиосигнал на процессор, можно в режиме реального времени управлять им через компьютер. Вот. Если уважаемый Drundel видит функцию в flprog 9.0.0, то интересно было бы грузить скетчи флпрог, скажем во внешнюю еепром и тут же видеть результат. Ну скажем, в версии flprog 12 :yes:
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Dryundel »

com писал(а): 20 сен 2021, 15:01 интересно было бы грузить скетчи флпрог, скажем во внешнюю еепром и тут же видеть результат. Ну скажем, в версии flprog 12
Ура! Я не один безумен! :yahoo:
Naladchik
Капитан
Сообщения: 908
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел
Благодарил (а): 20 раз
Поблагодарили: 22 раза

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Naladchik »

Dryundel писал(а): 20 сен 2021, 11:12 А что если добавить в программу окно(вкладку) создания функций?
Если я правильно помню, то создание пользовательского блока на FBD это уже есть создание функции.
Win10-64. FLProg Portable.
Изображение
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Dryundel »

Naladchik писал(а): 21 сен 2021, 13:01 Если я правильно помню, то создание пользовательского блока на FBD это уже есть создание функции.
Сейчас нет.
Создание блока, это всего лишь упаковка куска кода в блок. Скорей это с оговорками можно сравнить с маленькой библиотекой для FLProg. Хотя это сравнение ну очень натянуто.

Отправлено спустя 13 минут 11 секунд:
То что я предлагаю (Блок функции), вот это уже создание функции средствами FLProg и больше схоже с библиотекой. Ведь функция по сути подобна библиотеке находящейся в одном файле со скетчем. Обращение к ней происходит по мере необходимости и в ней может быть упакован многократно повторяющийся в скетче код. Соответственно и общий размер кода может быть уменьшен за счет того, что данный кусок кода прописывается всего лишь один раз в функции.
Наверное сложно объяснил. Ну уж как получилось. :)
Naladchik
Капитан
Сообщения: 908
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел
Благодарил (а): 20 раз
Поблагодарили: 22 раза

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Naladchik »

Dryundel писал(а): 21 сен 2021, 13:36 Сейчас нет.
Создание блока, это всего лишь упаковка куска кода в блок.
Ничего подобного, упаковка куска кода в блок это создание блока на С.
При создании блока на FBD создается функция, только что это проверил. На LAD скорее всего аналогично, проверять нет времени.
Win10-64. FLProg Portable.
Изображение
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Dryundel »

Naladchik писал(а): 21 сен 2021, 15:40 При создании блока на FBD создается функция
Мда. Действительно в FBD создается функция. Не знал, ибо не пользовался. :)
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Sancho »

Dryundel писал(а): 21 сен 2021, 13:36 Создание блока, это всего лишь упаковка куска кода в блок.
Создание блока без отметки "Использовать в проекте один раз" - это создание функционального блока. Может быть несколько в проекте. Каждый экземпляр содержит свой набор переменных.
Функция - блок с несохраняемыми переменными( возможны варианты). Один возвращаемый результат.
В флп возможно использование функций, опыт есть. В старом редакторе ПБ большой расход памяти на входные переменные. В новом, не пользовал, возможно намного эффективнее.
Создаёте ФБ одноразовый, в котором только описываете функцию. Создаёте многоразовый, используете раннее объявленную функцию.
Тестировалось в режиме Code, FBD не пробовал.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Dryundel »

Naladchik писал(а): 21 сен 2021, 15:40 При создании блока на FBD создается функция, только что это проверил.
Дык это-ж круто!
.
Теоретически:
Создаем блок на С++, пехаем его в блок FBD и получаем функцию.
Минусы в том, что:
1. В реальности ПБ в блок FBD не засунуть.
2. Создаются лишние переменные. Хотя переменные которые внутри блока FBD становятся локальными и память уже не занимают.
3. Отладить что то в коде становится весьма проблематично ибо там накладывается петрушка со структурами.
Это только то, что с первого взгляда обнаружил.
А вообще есть над чем подумать. Спасибо.
KulibinOrsk
Лейтенант
Сообщения: 516
Зарегистрирован: 25 фев 2018, 08:48
Откуда: Оренбург
Имя: Александр

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение KulibinOrsk »

[ref]Dryundel[/ref], Ваше предложение старо как мир - поэтому предлагать нужно СРАЗУ ВНЕДРЯТЬ ЯЗЫК С++
автор уже 3 года модернизирует...модернизирует программу и все не про-модернизирует ...
а пользователей все меньше и меньше....
писал и еще раз напишу (модер может удалить потом): нужно сделать сначала СКАДУ и довести основы.
А уж потом дерзать и углубляться!
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Dryundel »

Sancho писал(а): 21 сен 2021, 16:46 Один возвращаемый результат.
Почему один возвращаемый результат?
В блоке FBD как раз выполнен обход ограничения возврата одного результата функцией. Возвращается структура, а потом она разбирается на результирующие составляющие.
Все-таки Сергей крут! :)

Отправлено спустя 3 минуты :
KulibinOrsk писал(а): 21 сен 2021, 17:21 Dryundel, Ваше предложение старо как мир
Не встречал на форуме. Мог и пропустить. Может ссылочку дадите где посмотреть подобное предложение?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Sancho »

Dryundel писал(а): 21 сен 2021, 17:25 Почему один возвращаемый результат?
В блоке FBD как раз выполнен обход ограничения возврата одного результата функцией. Возвращается структура, а потом она разбирается на результирующие составляющие.
Структура - это тип данных. Результат работы функции - один возвращаемый результат, может ничего не возвращать, тип данных может быть любой.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Dryundel »

Sancho писал(а): 21 сен 2021, 16:46 В старом редакторе ПБ большой расход памяти на входные переменные. В новом, не пользовал, возможно намного эффективнее.
В новом входные переменные не создаются.
Зря не пользовал. Очень гибко и удобно, когда вникнешь.
Sancho писал(а): 21 сен 2021, 17:32 Структура - это тип данных. Результат работы функции - один возвращаемый результат, может ничего не возвращать, тип данных может быть любой.
Именно! И когда возвращается структура, то в ней может быть заложена хоть сотня возвращаемых переменных, а это и есть обход догмы что функция в С++ может возвращать только один результат.

Отправлено спустя 1 минуту 53 секунды:
Т.е. структура сама по себе может создаваться(набиваться результатами) внутри функции.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Sancho »

Dryundel писал(а): 21 сен 2021, 17:42 И когда возвращается структура, то в ней может быть заложена хоть сотня возвращаемых переменных, а это и есть обход догмы что функция в С++ может возвращать только один результат.
Ещё раз - структура это тип данных. Может быть аргументом, может быть результатом.
Функция может ничего не вернуть, а сделать много чего - если передать функции указатель на массив в качестве места входа и/или выхода данных. Но это уже не особо флп, хотя массивы flprog для работы модбаса отлично подходят, проверенно лично.

Отправлено спустя 1 минуту 25 секунд:
Уходим от сути вопроса.

Отправлено спустя 36 секунд:
Dryundel писал(а): 21 сен 2021, 17:42 В новом входные переменные не создаются.
Посему, батенька, с Вас тест создания функции.

Вот так приходилось делать раньше. Речь о расходе переменных, входных и выходных.
Оставлено только по теме. Верхний основной, остальные используют функцию.
Макет 01.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Dryundel »

Sancho писал(а): 21 сен 2021, 17:59 Посему, батенька, с Вас тест.
Тест чего?
С радостью сделаю. Только не понял о чем речь.

Отправлено спустя 1 минуту 8 секунд:
Может тост?....
А да, забыл. Вы же сударь не пьете. :)
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Sancho »

Обновил пост выше
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Мне приснилась FLProg 9.0.0 (Функции)

Сообщение Dryundel »

Sancho писал(а): 21 сен 2021, 18:04 Обновил пост выше
Ну и в чем должен заключаться тест?
Перенести это в новый редактор?
Так я сразу скажу - В новом редакторе не надо ставить галку что бы не добавлялись уникальные номера к переменным. Там наоборот если требуется добавляешь если нет, то и в коде она будет "голой", такой как прописал в ПБ.
А входных переменных не добавится, т.к. входы блоков сразу используют ту что на входе, а не приравнивают входную к своей входной ибо ее просто нет.
Если тупо переписать все что в этих блоках то будет так же работать, но основной блок можно будет использовать один раз в проекте так же как и в твоем случае. В любом случае для возможности пользования функцией из других блоков требуется оставлять переменные (функции) без идентификаторов. Иначе не обратишься к ним. В твоем варианте это осуществлено с помощью галки "Использовать один раз". В новом редакторе оставлен простор для полета мысли.
Ответить

Вернуться в «Пожелания»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя