там все равно все на стринг сделано.
т.е. прилетает то стринг в мк.
и вы вместо сравнения вводите новую переменную.
ну и где тогда экономия?
там все равно все на стринг сделано.
прилетел стринг в мк.
Вероятно Вы не тестировали блок. А зачем тогда высказывать свои предположения, да еще выдавать их за истину?
ну так эти стринги в любом случае на мк будут!!!Dryundel писал(а): 07 окт 2021, 16:36 А теперь представьте что у вас 50 каналов управления. Это +50 переменных String и еще столько же дополнительных boolean
Обязательно учту данное пожелание в дальнейшем.Sancho писал(а): 08 окт 2021, 09:31 Вот за что не люблю отсутствие в топике, заглавном, примера, да просто файла flp с блоками, так это за то, что каждый раз приходится ставить блок в бибку, а потом сносить.
Исходные естественно будут, а вот дополнительных не создастся как в предложенном варианте.
ну мне куда то нужно результат из вашего блока положить?Dryundel писал(а): 08 окт 2021, 09:38 Вероятно Вы не тестировали блок. А зачем тогда высказывать свои предположения, да еще выдавать их за истину
я понимаю.
Какой аргумент Вас не устроил?
А по моему не понимаете.
про доп.переменную.
А что если это действительно так? Что если доп. переменные действительно не создаются? Может Вы все таки проверите свои доводы, прежде чем говорить?alexbonk писал(а): 08 окт 2021, 09:46 про доп.переменную.
а нужно было примерно так сказать:
-выигрыш сего блока не в экономии переменных, а в скорости обработки данных!
ведь стринг обработать/сравнить/прочее - это вам не с булеаном взаимодействовать!
вот такая должна быть аннотацмя у блока.
*забирайте - дарю вашему блоку
Вот снова вы не внимательны, да еще и забываете что я Вам отвечал.alexbonk писал(а): 08 окт 2021, 09:46 вот такая должна была быть аннотация у блока.
*забирайте - дарю вашему блоку
Dryundel писал(а): 07 окт 2021, 23:43 А хоть бы и так. Экономия ресурсов. Трафик String и преобразования весьма ресурсоемкая операция.
Хотя есть и другие тонкости, об этом я писал выше. Будьте чуть внимательней.
еще раз - результат где будет храниться? (тот который на выходе из блока)
Как по мне, то я бы сделал при значениях "" (пустая строка), "false", "off" и возможно при "no", "not" = false.Dryundel писал(а): 07 окт 2021, 16:36 Конвертирует строковую переменную в Boolean.
При наличии на входе "0" - на выходе логический ноль.
В других случаях логическая единица.
[ref=#ff8000]Sancho[/ref], я конечно понимаю, что читать всё, не хватит времени.Sancho писал(а): 08 окт 2021, 09:56 Честно, не понимаю в чём сыр бор.
Я бы сделал так.
byte test=string.charAt(0) ;
if(test == 48) out=false;
else if(test == 49) out=true;
Можно ещё дополнительную проверку на длину, только один входящий символ, сделать.
Завернуть всё это в функцию, аргумент через ссылку, результат на выход.
Это что-бы вообще по фэншую.
Ну хорошо. Давайте подробнее. Нет там результата. Блок не генерирует его в переменную. Вход блока пользуется переменной с другого блока, а выход сделан так что либо использует входную переменную другого блока, либо сразу команда на пин идёт. Согласен, это сложно осознать пока не попробуешь и не увидишь своими глазами.alexbonk писал(а): 08 окт 2021, 09:59 еще раз - результат где будет храниться? (тот который на выходе из блока)
куда то нужно записать его? чтобы далее в проекте использовать.
Ну зачем же Вы ерунду говорите. Похоже Вы просто запутались.alexbonk писал(а): 08 окт 2021, 09:59 вы же предлагаете гонять по проекту стринг. но зачем, если нужно это сделать один раз?
0:22.45:1:34.67:2:11:3:77.9:4:11.03:5:45:6:62.78:7
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей