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

Тема: Парсинг длинных строк при помощи OSU.SplitStringByToken

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,609

    По умолчанию

    Добрый день.

    из-за чего значение UI_substring_size не получается адекватно подобрать
    Нужно ориентироваться на максимально возможную длину подстроки.

    записи подстрок в массив не корректные (некоторые строки обрезаны, некоторые пустые, некоторые элементы массива "value of the expression cannot be retrieved")
    Выложите, пожалуйста, простейший проект, в котором я смогу это повторить.

  2. #2

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.



    Нужно ориентироваться на максимально возможную длину подстроки.



    Выложите, пожалуйста, простейший проект, в котором я смогу это повторить.

    Вот пример использования. так же, к архиву приложил текстовый файл, который записан в строке.

    https://disk.yandex.by/d/8T2107z7zTwk5g
    Последний раз редактировалось DolomanN; 09.10.2024 в 09:28.

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

    По умолчанию

    Цитата Сообщение от DolomanN Посмотреть сообщение
    Вот пример использования. так же, к архиву приложил текстовый файл, который записан в строке.

    https://disk.yandex.by/d/8T2107z7zTwk5g
    В выложенном проекте нужно исправить две ошибки.

    1. Функция LEN подходит только для строк, длина которых не превышает 255 символов.
    В вашем случае нужно использовать функцию StrLenA из библиотеки StringUtils (обратите внимание - это не OwenStringUtils, а другая библиотека).

    2.

    Нужно сделать так - чтобы было соответствие между объявлением массива и значением uiSubstringSize.

    Код:
    input_array: ARRAY[1..200] OF STRING(100);
    Тогда код будет работать корректно.

    2024-10-09_10-04-05.png

  4. #4

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    В выложенном проекте нужно исправить две ошибки.

    1. Функция LEN подходит только для строк, длина которых не превышает 255 символов.
    В вашем случае нужно использовать функцию StrLenA из библиотеки StringUtils (обратите внимание - это не OwenStringUtils, а другая библиотека).

    2.

    Нужно сделать так - чтобы было соответствие между объявлением массива и значением uiSubstringSize.

    Код:
    input_array: ARRAY[1..200] OF STRING(100);
    Тогда код будет работать корректно.

    2024-10-09_10-04-05.png
    На приложенном вами скриншоте массив сформировался неправильно. я для наглядности сделал все разделенные подстроки одинаковыми, но в результате они получаются разными(какие-то обрезаны).
    К примеру, из строки 1@0804640088021002115gKpn5CwG87mFFNC11FFD0FNC99dGV zdOvwCHl85aYdMlRUin6E0crdgLMvg18oKi/wagP=@2@0804640088021002115gKpn5CwG87mFFNC11FFD0FN C99dGVzdOvwCHl85aYdMlRUin6E0crdgLMvg18oKi/wagP=@3@0804640088021002115gKpn5CwG87mFFNC11FFD0FN C99dGVzdOvwCHl85aYdMlRUin6E0crdgLMvg18oKi/wagP=

    Должно получиться:

    1
    0804640088021002115gKpn5CwG87mFFNC11FFD0FNC99dGVzd OvwCHl85aYdMlRUin6E0crdgLMvg18oKi/wagP=
    2
    0804640088021002115gKpn5CwG87mFFNC11FFD0FNC99dGVzd OvwCHl85aYdMlRUin6E0crdgLMvg18oKi/wagP=
    3
    0804640088021002115gKpn5CwG87mFFNC11FFD0FNC99dGVzd OvwCHl85aYdMlRUin6E0crdgLMvg18oKi/wagP=

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

    По умолчанию

    Выше некорректно отписался, извините.

    Если

    Код:
    input_array: ARRAY[1..200] OF STRING(100);
    то

    uiSubstringSize должно быть 101 (или - что правильнее - SIZEOF(input_array[1])

    2024-10-09_11-00-32.png 2024-10-09_11-03-35.png

Похожие темы

  1. Объединение двух длинных строк
    от aaaSashaMGGU в разделе ПЛК2хх
    Ответов: 17
    Последнее сообщение: 17.05.2024, 15:36
  2. Парсинг JSON средствами ST в Codesys 3.5
    от Pavel_Makarov в разделе Сетевые технологии
    Ответов: 20
    Последнее сообщение: 28.11.2023, 10:32
  3. парсинг веб-портала контроллера
    от AlexBut в разделе Master SCADA 3
    Ответов: 14
    Последнее сообщение: 20.10.2022, 11:57
  4. ФБ Список строк
    от Vitamin в разделе Master SCADA 3
    Ответов: 2
    Последнее сообщение: 28.07.2020, 15:16
  5. ФБ Сравнение строк
    от S.A.D. в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 17.08.2012, 14:18

Ваши права

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