Показано с 1 по 5 из 5

Тема: Библиотека OwenStringUtils (релиз версии 3.5.4.9)

  1. #1

    По умолчанию Библиотека OwenStringUtils (релиз версии 3.5.4.9)

    Внимание! Общение в этой теме закрыто. Все обсуждения – в СООТВЕТСТВУЮЩЕЙ теме.

    Мы разработали библиотеку OwenStringUtils, которая содержит наиболее востребованные функции для работы со строками.
    Использовать библиотеку Вы можете в CODESYS 3.5 SP4 и выше.

    1) Конвертация кодировок:

    Часто при программировании в среде разработки CODESYS 3.5 приходится работать с кодировками символов (например: пользователь вводит текст сообщения с визуализации как WSTRING, а модем работает со строками STRING).
    Функции CP1251_TO_UNICODE и UNICODE_TO_CP1251 решают эту проблему и позволяют конвертировать содержимое строк STRING в WSTRING и обратно.
    В этой части библиотека OwenStringUtils полностью перекрывает функционал библиотеки ASCII_TO_UNICOD

    2) Выделение части строки
    Часто необходимо выделить часть строки (например: обработать команду, полученную по SMS).
    Эта задача решается при помощи функций библиотеки Standard: Len, Find, Left, Mid, и Right, но код может получиться достаточно объемным:
    Например, если по SMS получена команда Уставка=25.6
    получить имя команды и значение на языке ST можно таким образом


    Стандартный разбор на теги.png

    На языке CFC, FBD и др. решение задачи будет гораздо более объемным и гораздо менее читабельным.
    С использованием функций Before и After библиотеки OwenStringUtils количество кода (на ST) уменьшиться вдвое.

    Разбор на теги OSU_ST.png

    На CFC решение будет выглядеть не менее элегантно:

    Разбор на теги OSU_CFC.png

    Для того, чтобы облегчить выделение средней части строки между 2мя известными подстроками мы добавили функцию Between.

    Например: для того, чтобы определить текущий баланс на SIM-карте по SMS от оператора:
    «Ваш баланс: 156,30 руб. Ваш Билайн» достаточно будет написать 1 строку в программе:

    Between_OSU_ST.png

    В дальнейшем мы будем дорабатывать библиотеку, добавляя в нее новые функции и функциональные блоки для того, чтобы упростить Вам написание программ.
    Если есть идеи о том, какой функционал стоит добавить в эту библиотеку – смело пишите в теме для ОБСУЖДЕНИЯ.
    P.S. В этой теме будут только обновления библиотеки, так что подписывайтесь на тему, чтобы быть в курсе обновлений.
    Скачать последнюю версию:


    OwenStringUtils_v3.5.4.9.compiled-library

    Список изменений:

    Версия Дата Список изменений
    3.5.4.9 10.05.2022
    • Добавлена функция для конвертации значения типа TIME в форматированную строку (TIME_TO_STRING_FORMAT)
    • Добавлены функции для парсинга строк (AfterByNumber, WAfterByNumber, BeforeByNumber, WBeforeByNumber, BetweenByNumber2, WBetweenByNumber2, SplitStringByToken, WSplitStringByToken)
    • Добавлены дополнительные функции (GetCharType, GetPathToDevice, GetDateFromSerialNumber)
    3.5.4.8 21.07.2020
    • Добавлены функции для преобразования IP и MAC (BYTES_TO_IPSTRING, UDINT_TO_IPSTRING, IPSTRING_TO_BYTES,
      IPSTRING_TO_UDINT, MAC_TO_STRING)
    • Добавлены функции для преобразования для HEX-строк (HEX_STR_TO_WORD, WORD_TO_HEX_STR)
    • Добавлены функции конкатенации строк с увеличенным числом входов (CONCAT4, WCONCAT4, CONCAT8, WCONCAT8)
    • Добавлены функции дополнения строк (ADD_CHAR, WADD_CHAR)
    • Исправлена ошибка в функции преобразования регистров WLowerCase, WUpperCase - ранее символы "q"/"Q" не преобразовывались
    3.5.4.7 16.08.2018
    • Добавлены функции REAL_TO_STRING_FORMAT, LREAL_TO_STRING_FORMAT;
    • Добавлены функции поиска позиции подстроки начиная с позиции N FindSubstringPosAfterN и WFindSubstringPosAfterN (аналог FINDP библиотеки OSCAT BASIC);
    • Добавлены функции замены первого вхождения подстроки в строку ReplaceSubstring и WReplaceSubstring;
    • Добавлены функции замены всех вхождений подстроки в строку ReplaceAllSubstrings и WReplaceAllSubstrings (аналог REPLACE_ALL библиотеки OSCAT BASIC);
    • Добавлены функции форматирования даты и времени TOD_TO_STRING_FORMAT, DATE_TO_STRING_FORMAT, DT_TO_STRING_FORMAT;
    • Устранена ошибка в Between, WBetween из-за которой функции работали некорректно, если sAfter находился перед sBefore.
    3.5.4.2 23.06.2017
    • Добавлены функции UpperCase, LowerCase, WUpperCase, WLowerCase
    • Устранил ошибку при которой символ CP1251 с кодом 16#98 некорректно преобразовывался в UNICODE. Теперь преобразовывается в символ 16#FFFD
    3.5.4.1 23.01.2017 Первая версия библиотеки




    Документация

    Последний раз редактировалось Евгений Кислов; 10.05.2023 в 11:43.

  2. #2

    По умолчанию

    Библиотека в шапке темы обновлена до версии 3.5.4.2.
    Список изменений:
    • Добавлены функции UpperCase, LowerCase, WUpperCase, WLowerCase
    • Устранил ошибку при которой символ CP1251 с кодом 16#98 некорректно преобразовывался в UNICODE. Теперь преобразовывается в символ 16#FFFD
    Последний раз редактировалось Евгений Кислов; 10.05.2023 в 11:38.

  3. #3

    По умолчанию

    Библиотека в шапке темы обновлена до версии 3.5.4.7.
    Список изменений:
    • Добавлены функции REAL_TO_STRING_FORMAT, LREAL_TO_STRING_FORMAT;
    • Добавлены функции поиска позиции подстроки начиная с позиции N FindSubstringPosAfterN и WFindSubstringPosAfterN (аналог FINDP библиотеки OSCAT BASIC);
    • Добавлены функции замены первого вхождения подстроки в строку ReplaceSubstring и WReplaceSubstring;
    • Добавлены функции замены всех вхождений подстроки в строку ReplaceAllSubstrings и WReplaceAllSubstrings (аналог REPLACE_ALL библиотеки OSCAT BASIC);
    • Добавлены функции форматирования даты и времени TOD_TO_STRING_FORMAT, DATE_TO_STRING_FORMAT, DT_TO_STRING_FORMAT;
    • Устранена ошибка в Between, WBetween из-за которой функции работали некорректно, если sAfter находился перед sBefore
    Последний раз редактировалось Евгений Кислов; 10.05.2023 в 11:38.
    OSCAT.ru читать стандарты и статьи по автоматизации на русском без регистрации и СМС

  4. #4
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,064

    По умолчанию

    Библиотека в шапке темы обновлена до версии 3.5.4.8.
    Список изменений:
    • Добавлены функции для преобразования IP и MAC (BYTES_TO_IPSTRING, UDINT_TO_IPSTRING, IPSTRING_TO_BYTES,
      IPSTRING_TO_UDINT, MAC_TO_STRING)
    • Добавлены функции для работы с HEX-строками (HEX_STR_TO_WORD, WORD_TO_HEX_STR)
    • Добавлены функции конкатенации строк с увеличенным числом входов (CONCAT4, WCONCAT4, CONCAT8, WCONCAT8)
    • Добавлены функции дополнения строк (ADD_CHAR, WADD_CHAR)
    • Исправлена ошибка в функции преобразования регистров WLowerCase, WUpperCase - ранее символы "q"/"Q" не преобразовывались

  5. #5
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,064

    По умолчанию

    Библиотека в шапке темы обновлена до версии 3.5.4.9.
    Добавлены функции:
    • TIME_TO_STRING_FORMAT - для конвертации значения типа TIME в форматированную строку
    • AfterByNumber, WAfterByNumber - для вырезания подстроки после заданного по счету вхождения префикса
    • BeforeByNumber, WBeforeByNumber - для вырезания подстроки перед заданным по счету вхождением постфикса
    • BetweenByNumber, WBetweenByNumber - для вырезания подстроки между заданным по счету вхождением префикса/постфикса и ближайшим к нему значение постфикса/префикса
    • BetweenByNumber2, WBetweenByNumber2 - для вырезания подстроки между заданными по счету вхождениями префикса и постфикса
    • SplitStringByToken, WSplitStringByToken - для разделения строки на подстроки по заданному токену (например, это требуется при обработке файлов формата .csv)
    • GetCharType - для получения типа символа кодировки Win-1251 (символ кириллицы, символ латиницы, цифра, пробел и т. д.)
    • GetPathToDevice - для получения файлового заместителя для заданной директории
    • GetDateFromSerialNumber - для определения даты производства прибора ОВЕН по его серийному номеру

Похожие темы

  1. Библиотека OwenCommunication (релиз версии 3.5.11.7)
    от Евгений Кислов в разделе Библиотеки CODESYS
    Ответов: 5
    Последнее сообщение: 05.03.2024, 11:05
  2. Шаблоны модулей Mx110 и др. устройств для CODESYS V3.5 (релиз версии 3.5.11.12)
    от Евгений Кислов в разделе Библиотеки CODESYS
    Ответов: 9
    Последнее сообщение: 26.02.2024, 07:39
  3. Библиотека OwenVisuDialogs (релиз версии 3.5.17.3)
    от Евгений Кислов в разделе Библиотеки CODESYS
    Ответов: 6
    Последнее сообщение: 17.08.2023, 09:52
  4. Шаблоны модулей Mx210 и др. устройств для CODESYS V3.5 (релиз версии 3.5.11.10)
    от Евгений Кислов в разделе Библиотеки CODESYS
    Ответов: 7
    Последнее сообщение: 28.07.2023, 06:53
  5. Обсуждение: библиотека OwenStringUtils
    от Осинский Алексей в разделе СПК2хх
    Ответов: 37
    Последнее сообщение: 05.04.2021, 10:49

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •