Конвертер String >> Boolean

Пользовательские блоки для конвертации различных типов данных, а так-же шифрования и дешифровки
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
alexbonk
Рядовой
Сообщения: 28
Зарегистрирован: 05 окт 2021, 13:29
Имя: алексей

Конвертер String >> Boolean

Сообщение alexbonk »

alexbonk писал(а): 08 окт 2021, 09:22 как дидактический материал
там все равно все на стринг сделано.
т.е. прилетает то стринг в мк.
и вы вместо сравнения вводите новую переменную.
ну и где тогда экономия?
alexbonk
Рядовой
Сообщения: 28
Зарегистрирован: 05 окт 2021, 13:29
Имя: алексей

Конвертер String >> Boolean

Сообщение alexbonk »

Naladchik писал(а): 07 окт 2021, 18:51 , не стоит переходить на хи-хи
давайте я уж сам решу куда мне переходить?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Конвертер String >> Boolean

Сообщение Sancho »

Вот за что не люблю отсутствие в топике, заглавном, примера, да просто файла flp с блоками, так это за то, что каждый раз приходится ставить блок в бибку, а потом сносить.
Если есть пример, *.flp, открыл, оценил - надо оно тебе или нет, в случае да - скопировал к себе.
Как-то писал об этом.
Блок не смотрел по вышеуказанной причине.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
alexbonk
Рядовой
Сообщения: 28
Зарегистрирован: 05 окт 2021, 13:29
Имя: алексей

Конвертер String >> Boolean

Сообщение alexbonk »

Phazz писал(а): 07 окт 2021, 18:42 не создает дополнительных переменных
прилетел стринг в мк.
вы добавили еще и булеан переменную: теперь в проекте и стринг и булеан одновременно.

@?&*$?
Аватара пользователя
Dryundel
Полковник
Сообщения: 2451
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 6 раз
Поблагодарили: 31 раз

Конвертер String >> Boolean

Сообщение Dryundel »

alexbonk писал(а): 08 окт 2021, 09:31 прилетел стринг в мк.
вы добавили еще и булеан переменную.
Вероятно Вы не тестировали блок. А зачем тогда высказывать свои предположения, да еще выдавать их за истину?
alexbonk
Рядовой
Сообщения: 28
Зарегистрирован: 05 окт 2021, 13:29
Имя: алексей

Конвертер String >> Boolean

Сообщение alexbonk »

Dryundel писал(а): 07 окт 2021, 16:36 А теперь представьте что у вас 50 каналов управления. Это +50 переменных String и еще столько же дополнительных boolean
ну так эти стринги в любом случае на мк будут!!!
Аватара пользователя
Dryundel
Полковник
Сообщения: 2451
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 6 раз
Поблагодарили: 31 раз

Конвертер String >> Boolean

Сообщение Dryundel »

Sancho писал(а): 08 окт 2021, 09:31 Вот за что не люблю отсутствие в топике, заглавном, примера, да просто файла flp с блоками, так это за то, что каждый раз приходится ставить блок в бибку, а потом сносить.
Обязательно учту данное пожелание в дальнейшем.

Отправлено спустя 1 минуту 44 секунды:
alexbonk писал(а): 08 окт 2021, 09:38 ну так эти стринги в любом случае на мк будут!!!
Исходные естественно будут, а вот дополнительных не создастся как в предложенном варианте.
Вы реально понимаете о чем я говорю?
alexbonk
Рядовой
Сообщения: 28
Зарегистрирован: 05 окт 2021, 13:29
Имя: алексей

Конвертер String >> Boolean

Сообщение alexbonk »

Dryundel писал(а): 08 окт 2021, 09:38 Вероятно Вы не тестировали блок. А зачем тогда высказывать свои предположения, да еще выдавать их за истину
ну мне куда то нужно результат из вашего блока положить?
для этого нужно будет создать еще одну переменную булеан.
К уже существующей стринг создать еще одну, но булеан.
Последний раз редактировалось alexbonk 08 окт 2021, 09:42, всего редактировалось 1 раз.
alexbonk
Рядовой
Сообщения: 28
Зарегистрирован: 05 окт 2021, 13:29
Имя: алексей

Конвертер String >> Boolean

Сообщение alexbonk »

Dryudel писал(а): 08 окт 2021, 09:40 реально понимаете о чем я говорю
я понимаю.
но вы не те аргументы приводите в защиту своего творения
Последний раз редактировалось alexbonk 08 окт 2021, 09:43, всего редактировалось 1 раз.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2451
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 6 раз
Поблагодарили: 31 раз

Конвертер String >> Boolean

Сообщение Dryundel »

alexbonk писал(а): 08 окт 2021, 09:42 но вы не те аргументы приводите в щащиту своего творения
Какой аргумент Вас не устроил?

Отправлено спустя 3 минуты 24 секунды:
alexbonk писал(а): 08 окт 2021, 09:42я прнимаю.
А по моему не понимаете.
Попробуйте сделать подобный блок на if else, посмотрите скомпилированный код, а потом сравните с кодом который получится с этим блоком. Вот тогда и поговорим.
Последний раз редактировалось Dryundel 08 окт 2021, 09:46, всего редактировалось 1 раз.
alexbonk
Рядовой
Сообщения: 28
Зарегистрирован: 05 окт 2021, 13:29
Имя: алексей

Конвертер String >> Boolean

Сообщение alexbonk »

Dryundel писал(а): 08 окт 2021, 09:42 Какой аргумент Вас не устроил?
про доп.переменную.

а нужно было примерно так сказать:
-выигрыш сего блока не в экономии переменных, а в скорости обработки данных!
ведь стринг обработать/сравнить/прочее - это вам не с булеаном взаимодействовать!

вот такая должна была быть аннотация у блока.
*забирайте - дарю вашему блоку :)
Аватара пользователя
Dryundel
Полковник
Сообщения: 2451
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 6 раз
Поблагодарили: 31 раз

Конвертер String >> Boolean

Сообщение Dryundel »

alexbonk писал(а): 08 окт 2021, 09:46 про доп.переменную.

а нужно было примерно так сказать:
-выигрыш сего блока не в экономии переменных, а в скорости обработки данных!
ведь стринг обработать/сравнить/прочее - это вам не с булеаном взаимодействовать!

вот такая должна быть аннотацмя у блока.
*забирайте - дарю вашему блоку
А что если это действительно так? Что если доп. переменные действительно не создаются? Может Вы все таки проверите свои доводы, прежде чем говорить?

Отправлено спустя 5 минут 32 секунды:
alexbonk писал(а): 08 окт 2021, 09:46 вот такая должна была быть аннотация у блока.
*забирайте - дарю вашему блоку
Вот снова вы не внимательны, да еще и забываете что я Вам отвечал.
Dryundel писал(а): 07 окт 2021, 23:43 А хоть бы и так. Экономия ресурсов. Трафик String и преобразования весьма ресурсоемкая операция.
Хотя есть и другие тонкости, об этом я писал выше. Будьте чуть внимательней.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Конвертер String >> Boolean

Сообщение Sancho »

Честно, не понимаю в чём сыр бор.
Я бы сделал так.

byte test=string.charAt(0) ;
if(test == 48) out=false;
else if(test == 49) out=true;

Можно ещё дополнительную проверку на длину, только один входящий символ, сделать.
Завернуть всё это в функцию, аргумент через ссылку, результат на выход.
Это что-бы вообще по фэншую.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
alexbonk
Рядовой
Сообщения: 28
Зарегистрирован: 05 окт 2021, 13:29
Имя: алексей

Конвертер String >> Boolean

Сообщение alexbonk »

Dryundel писал(а): 08 окт 2021, 09:50 Что если доп. переменные действительно не создаются
еще раз - результат где будет храниться? (тот который на выходе из блока)
куда то нужно записать его? чтобы далее в проекте использовать.

Вот я именно про эту переменную, а не про промежуточную.

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

А если нужно разложить стринг один раз, извлечь из него нужное, раскидать по переменным и забыть до следующего появления свежих данных в этом стринге?

вы же предлагаете гонять по проекту стринг. но зачем, если нужно это сделать один раз?
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Конвертер String >> Boolean

Сообщение edyapd »

Dryundel писал(а): 07 окт 2021, 16:36 Конвертирует строковую переменную в Boolean.
При наличии на входе "0" - на выходе логический ноль.
В других случаях логическая единица.
Как по мне, то я бы сделал при значениях "" (пустая строка), "false", "off" и возможно при "no", "not" = false.

Хотя в каждом языке программирования свои правила. Сейчас глянул ЗДЕСЬ "0" не может быть преобразован в boolean. А например ЗДЕСЬ говорят, что "0" будет true. Если что, это ссылки на разные языки.
Последний раз редактировалось edyapd 08 окт 2021, 10:09, всего редактировалось 1 раз.
alexbonk
Рядовой
Сообщения: 28
Зарегистрирован: 05 окт 2021, 13:29
Имя: алексей

Конвертер String >> Boolean

Сообщение alexbonk »

0:45.95:1:23.11:2:99.01:3:11:4:33.72:5:77:6:0:7:1:8:33.27

с таким стрингом что будет делать ваш блок?
его же сначала надо
1.распарсить.
2.конвертировать в необходимые переменные

вы получается предлагаете эти пункты проделывать каждый раз?

я вот про это вот.
Последний раз редактировалось alexbonk 08 окт 2021, 10:15, всего редактировалось 1 раз.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2451
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 6 раз
Поблагодарили: 31 раз

Конвертер String >> Boolean

Сообщение Dryundel »

Sancho писал(а): 08 окт 2021, 09:56 Честно, не понимаю в чём сыр бор.
Я бы сделал так.

byte test=string.charAt(0) ;
if(test == 48) out=false;
else if(test == 49) out=true;

Можно ещё дополнительную проверку на длину, только один входящий символ, сделать.
Завернуть всё это в функцию, аргумент через ссылку, результат на выход.
Это что-бы вообще по фэншую.
[ref=#ff8000]Sancho[/ref], я конечно понимаю, что читать всё, не хватит времени.
Специально для тебя коротко. Я уверен что ты поймешь о чем речь.

Блок не создает доп переменных вообще. Актуален при работе с MQTT когда требуется большое количество каналов. Каждый канал это SMS типа String. За счет оптимизации избавляемся от доп. переменных и экономим на ресурсах за счет обработки. (это кратко)
Это маленький и легкий блок. Вот в чем основная идея.
Аватара пользователя
Phazz
Полковник
Сообщения: 3136
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 235 раз
Поблагодарили: 114 раз

Конвертер String >> Boolean

Сообщение Phazz »

Dryundel писал(а): 08 окт 2021, 09:26 Это +50 переменных String
а от куда взялись дополнительные sring переменные?
Аватара пользователя
Dryundel
Полковник
Сообщения: 2451
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 6 раз
Поблагодарили: 31 раз

Конвертер String >> Boolean

Сообщение Dryundel »

alexbonk писал(а): 08 окт 2021, 09:59 еще раз - результат где будет храниться? (тот который на выходе из блока)
куда то нужно записать его? чтобы далее в проекте использовать.
Ну хорошо. Давайте подробнее. Нет там результата. Блок не генерирует его в переменную. Вход блока пользуется переменной с другого блока, а выход сделан так что либо использует входную переменную другого блока, либо сразу команда на пин идёт. Согласен, это сложно осознать пока не попробуешь и не увидишь своими глазами.
alexbonk писал(а): 08 окт 2021, 09:59это нера
alexbonk писал(а): 08 окт 2021, 09:59 вы же предлагаете гонять по проекту стринг. но зачем, если нужно это сделать один раз?
Ну зачем же Вы ерунду говорите. Похоже Вы просто запутались.
alexbonk
Рядовой
Сообщения: 28
Зарегистрирован: 05 окт 2021, 13:29
Имя: алексей

Конвертер String >> Boolean

Сообщение alexbonk »

Dryundel писал(а): 08 окт 2021, 10:15 зачем же Вы ерунду говорите
0:22.45:1:34.67:2:11:3:77.9:4:11.03:5:45:6:62.78:7:1233:8:0

что будет с этим делать ваш блок?
Ответить

Вернуться в «Конвертация типов, шифраторы и дешифраторы»

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

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