Страница 2 из 4
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 09:27
alexbonk
alexbonk писал(а): 08 окт 2021, 09:22
как дидактический материал
там все равно все на стринг сделано.
т.е. прилетает то стринг в мк.
и вы вместо сравнения вводите новую переменную.
ну и где тогда экономия?
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 09:29
alexbonk
Naladchik писал(а): 07 окт 2021, 18:51
, не стоит переходить на хи-хи
давайте я уж сам решу куда мне переходить?
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 09:31
Sancho
Вот за что не люблю отсутствие в топике, заглавном, примера, да просто файла flp с блоками, так это за то, что каждый раз приходится ставить блок в бибку, а потом сносить.
Если есть пример, *.flp, открыл, оценил - надо оно тебе или нет, в случае да - скопировал к себе.
Как-то писал об этом.
Блок не смотрел по вышеуказанной причине.
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 09:31
alexbonk
Phazz писал(а): 07 окт 2021, 18:42
не создает дополнительных переменных
прилетел стринг в мк.
вы добавили еще и булеан переменную: теперь в проекте и стринг и булеан одновременно.
@?&*$?
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 09:37
Dryundel
alexbonk писал(а): 08 окт 2021, 09:31
прилетел стринг в мк.
вы добавили еще и булеан переменную.
Вероятно Вы не тестировали блок. А зачем тогда высказывать свои предположения, да еще выдавать их за истину?
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 09:38
alexbonk
Dryundel писал(а): 07 окт 2021, 16:36
А теперь представьте что у вас 50 каналов управления. Это +50 переменных String и еще столько же дополнительных boolean
ну так эти стринги в любом случае на мк будут!!!
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 09:40
Dryundel
Sancho писал(а): 08 окт 2021, 09:31
Вот за что не люблю отсутствие в топике, заглавном, примера, да просто файла flp с блоками, так это за то, что каждый раз приходится ставить блок в бибку, а потом сносить.
Обязательно учту данное пожелание в дальнейшем.
Отправлено спустя 1 минуту 44 секунды:
alexbonk писал(а): 08 окт 2021, 09:38
ну так эти стринги в любом случае на мк будут!!!
Исходные естественно будут, а вот дополнительных не создастся как в предложенном варианте.
Вы реально понимаете о чем я говорю?
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 09:40
alexbonk
Dryundel писал(а): 08 окт 2021, 09:38
Вероятно Вы не тестировали блок. А зачем тогда высказывать свои предположения, да еще выдавать их за истину
ну мне куда то нужно результат из вашего блока положить?
для этого нужно будет создать еще одну переменную булеан.
К уже существующей стринг создать еще одну, но булеан.
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 09:42
alexbonk
Dryudel писал(а): 08 окт 2021, 09:40
реально понимаете о чем я говорю
я понимаю.
но вы не те аргументы приводите в защиту своего творения
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 09:46
Dryundel
alexbonk писал(а): 08 окт 2021, 09:42
но вы не те аргументы приводите в щащиту своего творения
Какой аргумент Вас не устроил?
Отправлено спустя 3 минуты 24 секунды:
alexbonk писал(а): 08 окт 2021, 09:42я прнимаю.
А по моему не понимаете.
Попробуйте сделать подобный блок на if else, посмотрите скомпилированный код, а потом сравните с кодом который получится с этим блоком. Вот тогда и поговорим.
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 09:46
alexbonk
Dryundel писал(а): 08 окт 2021, 09:42
Какой аргумент Вас не устроил?
про доп.переменную.
а нужно было примерно так сказать:
-выигрыш сего блока не в экономии переменных, а в скорости обработки данных!
ведь стринг обработать/сравнить/прочее - это вам не с булеаном взаимодействовать!
вот такая должна была быть аннотация у блока.
*забирайте - дарю вашему блоку

Конвертер String >> Boolean
Добавлено: 08 окт 2021, 09:55
Dryundel
alexbonk писал(а): 08 окт 2021, 09:46
про доп.переменную.
а нужно было примерно так сказать:
-выигрыш сего блока не в экономии переменных, а в скорости обработки данных!
ведь стринг обработать/сравнить/прочее - это вам не с булеаном взаимодействовать!
вот такая должна быть аннотацмя у блока.
*забирайте - дарю вашему блоку
А что если это действительно так? Что если доп. переменные действительно не создаются? Может Вы все таки проверите свои доводы, прежде чем говорить?
Отправлено спустя 5 минут 32 секунды:
alexbonk писал(а): 08 окт 2021, 09:46
вот такая должна была быть аннотация у блока.
*забирайте - дарю вашему блоку
Вот снова вы не внимательны, да еще и забываете что я Вам отвечал.
Dryundel писал(а): 07 окт 2021, 23:43
А хоть бы и так. Экономия ресурсов. Трафик String и преобразования весьма ресурсоемкая операция.
Хотя есть и другие тонкости, об этом я писал выше. Будьте чуть внимательней.
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 09:56
Sancho
Честно, не понимаю в чём сыр бор.
Я бы сделал так.
byte test=string.charAt(0) ;
if(test == 48) out=false;
else if(test == 49) out=true;
Можно ещё дополнительную проверку на длину, только один входящий символ, сделать.
Завернуть всё это в функцию, аргумент через ссылку, результат на выход.
Это что-бы вообще по фэншую.
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 09:59
alexbonk
Dryundel писал(а): 08 окт 2021, 09:50
Что если доп. переменные действительно не создаются
еще раз - результат где будет храниться? (тот который на выходе из блока)
куда то нужно записать его? чтобы далее в проекте использовать.
Вот я именно про эту переменную, а не про промежуточную.
или вы предлагаете в проекте использовать каждый раз ваш блок? но это неразумно, т.к. придется контроллеру каждый раз обрабатывать тяжелый стринг.
А если нужно разложить стринг один раз, извлечь из него нужное, раскидать по переменным и забыть до следующего появления свежих данных в этом стринге?
вы же предлагаете гонять по проекту стринг. но зачем, если нужно это сделать один раз?
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 10:00
edyapd
Dryundel писал(а): 07 окт 2021, 16:36
Конвертирует строковую переменную в Boolean.
При наличии на входе "0" - на выходе логический ноль.
В других случаях логическая единица.
Как по мне, то я бы сделал при значениях "" (пустая строка), "false", "off" и возможно при "no", "not" = false.
Хотя в каждом языке программирования свои правила. Сейчас глянул
ЗДЕСЬ "0" не может быть преобразован в boolean. А например
ЗДЕСЬ говорят, что "0" будет true. Если что, это ссылки на разные языки.
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 10:07
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.конвертировать в необходимые переменные
вы получается предлагаете эти пункты проделывать каждый раз?
я вот про это вот.
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 10:09
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. За счет оптимизации избавляемся от доп. переменных и экономим на ресурсах за счет обработки. (это кратко)
Это маленький и легкий блок. Вот в чем основная идея.
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 10:12
Phazz
Dryundel писал(а): 08 окт 2021, 09:26
Это +50 переменных String
а от куда взялись дополнительные sring переменные?
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 10:15
Dryundel
alexbonk писал(а): 08 окт 2021, 09:59
еще раз - результат где будет храниться? (тот который на выходе из блока)
куда то нужно записать его? чтобы далее в проекте использовать.
Ну хорошо. Давайте подробнее. Нет там результата. Блок не генерирует его в переменную. Вход блока пользуется переменной с другого блока, а выход сделан так что либо использует входную переменную другого блока, либо сразу команда на пин идёт. Согласен, это сложно осознать пока не попробуешь и не увидишь своими глазами.
alexbonk писал(а): 08 окт 2021, 09:59это нера
alexbonk писал(а): 08 окт 2021, 09:59
вы же предлагаете гонять по проекту стринг. но зачем, если нужно это сделать один раз?
Ну зачем же Вы ерунду говорите. Похоже Вы просто запутались.
Конвертер String >> Boolean
Добавлено: 08 окт 2021, 10:19
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

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