Сравнение строк - выход числа

Пользовательские блоки дающие дополнительные возможности для сранения различных величин
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

Сравнение строк - выход числа

#1

Сообщение Serg_Grn » 22.01.2022{, 14:39}

Блок присваивает значение числа на выходе значению числа в параметрах по факту равенства входной строки строке в параметрах.
Если Str1 равна Text1, то Out1 равен Data1;
Если Str1 равна Text2, то Out1 равен Data2.
Сравнение с учётом регистра.
Начальное значение выхода: Out1 = 0.
Блок работает при наличии true на входе En.
StrData_(Code_-_Professional).ubi
(127.5 КБ) 116 скачиваний
-----------------------------
Добавил выход "Ок" - устанавливается в true на один цикл по факту любого равенства значений.
StrData_2_(Code_-_Professional).ubi
(143.44 КБ) 113 скачиваний
Последний раз редактировалось Serg_Grn 22.01.2022{, 15:09}, всего редактировалось 1 раз.

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

Сравнение строк - выход числа

#2

Сообщение Dryundel » 22.01.2022{, 14:54}

Serg_Grn, Предположу что блок потребовался для работы с блоком меню. Делал подобный именно для такой цели. Выкладывать не стал, ибо долго объяснять было для чего и зачем.
Было бы не плохо увидеть пример использования, а то по данному описанию востребованность будет низкая.
Сложно понять к чему это всё.

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

Сравнение строк - выход числа

#3

Сообщение Serg_Grn » 22.01.2022{, 15:14}

Dryundel, блок понадобился для работы с текстами, получаемыми из Телеграм. А именно: по факту текстовой команды из мессенджера должно быть записано определенное числовое значение в переменную modbus и отправлено дальше...
Так как modbus не работает со строками, приходится таким образом кодировать команды :)

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

Сравнение строк - выход числа

#4

Сообщение Dryundel » 22.01.2022{, 17:45}

Выложу пожалуй и свою версию сюда. Надеюсь автор не будет против. Блоки специфические и работа их в чем то схожа, хотя и создавались для разных задач.
.
Стринговый компараторПоказать
Стринговый компаратор.jpg
Стринговый компаратор.jpg (50.81 КБ) 4615 просмотров
Switch-Сomparator-String_(Code_-_Basic).ubi
(61.99 КБ) 142 скачивания
.
Switch-Сomparator - это такой симбиоз переключателя и компаратора.

Все очень просто.
Блок сравнивает значение на входе Str со значениями на входах Str_1, Str_2, Str_3 ...
Если значение(строка) на входе "Str" совпадает с одним из значений на входах Str_1, Str_2, Str_3 ...
то на соответствующем выходе Q1, Q2, Q3... Появляется логическая "1".
На выход Q выводится число соответствующее этому выходу.
Если же совпадений нет, то логическая "1" появляется на выходе Qnon, а на выходе Q в это время будет "0".

Блок создавался для включения комплекта блоков дисплея по "Имени родительского меню", при реализации меню с настройками.
Идея в том, что бы когда уже вошел в подменю "Настройки", включались блоки дисплеев с этими настройками.

Marcony_V
Рядовой
Сообщения: 41
Зарегистрирован: 04.02.2017{, 17:02}
Репутация: 2

Сравнение строк - выход числа

#5

Сообщение Marcony_V » 22.01.2022{, 22:10}

Serg_Grn,
Serg_Grn писал(а):
22.01.2022{, 15:14}
блок понадобился для работы с текстами, получаемыми из Телеграм
А можно поподробнее про тексты из телеграмм? Кто обрабатывает? Бот или реальный пользователь?

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

Сравнение строк - выход числа

#6

Сообщение Serg_Grn » 23.01.2022{, 12:21}

Отправлено спустя 4 минуты 38 секунд:
Marcony_V писал(а):
22.01.2022{, 22:10}
А можно поподробнее про тексты из телеграмм?
Тут на форуме есть пользовательские блоки по Телеграм, там всё детально расписано и обсуждений много.
Блок из этого поста просто работает со строками, будь они хоть из Телеграм, хоть откуда угодно.

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

Сравнение строк - выход числа

#7

Сообщение Dryundel » 11.02.2022{, 11:11}

GDAN7777 писал(а):
11.02.2022{, 10:52}
Ярослав,вам вопрос.На какое время появляется 1 при совпадении на выходах Q1,Q2,Q3 ?
Ярослав? :) Ну да ладно, пусть будет Ярослав.
Высокий логический уровень на этих входах будет висеть постоянно, пока значение на входе Str совпадает со значением на соответствующем входе.
Надеюсь понятно. :)

Ответить

Вернуться в «Блоки сравнения (компараторы)»