Как подсчитать количество кириллических символов в строке

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Аватара пользователя
Dryundel
Полковник
Сообщения: 2392
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 2 раза
Контактная информация:

Как подсчитать количество кириллических символов в строке

Сообщение Dryundel »

[ref]av[/ref], так я же делал блок. Месяц тогда рыл инфу что бы все считалось и русские и английские и знаки типа №.
Выразить благодарность
Мой E-mail: dryundel@flprog.pro
aidar_i
Полковник
Сообщения: 3208
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 1 раз
Поблагодарили: 8 раз
Контактная информация:

Как подсчитать количество кириллических символов в строке

Сообщение aidar_i »

Dryundel писал(а): 23 фев 2022, 19:38 [ref]av[/ref], так я же делал блок. Месяц тогда рыл инфу что бы все считалось и русские и английские и знаки типа №.
Ссылку дай.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2392
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 2 раза
Контактная информация:

Как подсчитать количество кириллических символов в строке

Сообщение Dryundel »

Выразить благодарность
Мой E-mail: dryundel@flprog.pro
Аватара пользователя
Dryundel
Полковник
Сообщения: 2392
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 2 раза
Контактная информация:

Как подсчитать количество кириллических символов в строке

Сообщение Dryundel »

av писал(а): 23 фев 2022, 20:31 Dryundel, Андрей вы разрешите использовать вашу функцию из блока для создания своих блоков ?
Не вижу поводов даже для таких вопросов. Все же в открытом доступе.
av писал(а): 23 фев 2022, 20:31 Dryundel, почему то функция Q = rusStrlen(S.c_str()); скомпилировалась с ошибкой. Вместо операнда "S"--> вход, подставил параметр блока String "Name" Q = rusStrlen(Name.c_str());. Изменил передачу функции операнда Q = rusStrlen(Name); и все заработало.
Так Вы вместо переменной подсунули в функцию саму строку. Как то не уверен что это будет работать правильно.
Если же написать в коде что то типа:

String S = <Name>; // <Name> это тег параметра
Q = rusStrlen(S.c_str());

То все должно работать.
av писал(а): 23 фев 2022, 20:31 Полез в темы связанные с дисплеями и пытался там хоть что то раскопать.

Плохо искали. Данная функция родилась конкретно для этого блока.
Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

А еще я передавал этот алгоритм в открытом виде где то в теме "Разработки ecoins". Но в той куче (не скажу чего) нереально трудно найти бриллиант, хотя их там много. :)
Выразить благодарность
Мой E-mail: dryundel@flprog.pro
Аватара пользователя
Dryundel
Полковник
Сообщения: 2392
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 2 раза
Контактная информация:

Как подсчитать количество кириллических символов в строке

Сообщение Dryundel »

av писал(а): 23 фев 2022, 23:16 Такой вариант рассматривал, но жалко тратиться на переменную. Ваяю на старом редакторе как в черновике. Потом уже буду переносить на новый редактор.
В данном случае никаких растрат не будет. Локальная переменная не займет места. Она является временной и создается заново в каждом цикле. Не надо ее писать в Declare, а так как я привел в примере. А вот со строкой, я честно, не знаю.
c_str() это метод String преобразующий строку в СИ формат.

Короче, могу я чего то не знать в конце концов? :)
Выразить благодарность
Мой E-mail: dryundel@flprog.pro
Ответить

Вернуться в «Спросить у знатоков»

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

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