Показано с 1 по 10 из 17

Тема: Как получить ASCII-код символа в Codesys?

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Question как скопировать одну строку в другую по символьно?

    Еще вопрос по работе со строками.
    Код:
    s1 : STRING := "12345678';
    s2 : STRING := '';
    x : INT;
    
    FOR x := 0 TO LEN( s1 ) DO
      ...
      s2 := CONCAT( s2, s1[x] );
    END_FOR
    по идее на выходе s2 должна быть копией s1, но там коды символов вместо самих символов.
    я так понимаю, что s1[x] нужно перевести в строку?
    как исправить?

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

    По умолчанию

    Цитата Сообщение от -=Vovka=- Посмотреть сообщение
    Еще вопрос по работе со строками.
    Код:
    s1 : STRING := "12345678';
    s2 : STRING := '';
    x : INT;
    
    FOR x := 0 TO LEN( s1 ) DO
      ...
      s2 := CONCAT( s2, s1[x] );
    END_FOR
    по идее на выходе s2 должна быть копией s1, но там коды символов вместо самих символов.
    я так понимаю, что s1[x] нужно перевести в строку?
    как исправить?
    Какую именно задачу вы пытаетесь решить и какой у вас контроллер?

  3. #3

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Какую именно задачу вы пытаетесь решить и какой у вас контроллер?
    Парсинг строки в структуру (в ней строки и числа). Данные разделены либо 0x0A либо 0x0D 0x0A
    ПЛК210

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

    По умолчанию

    Цитата Сообщение от -=Vovka=- Посмотреть сообщение
    Парсинг строки в структуру (в ней строки и числа). Данные разделены либо 0x0A либо 0x0D 0x0A
    ПЛК210
    А зачем в рамках этой задачи посимвольное копирование строк?

  5. #5
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,120

    По умолчанию

    Цитата Сообщение от -=Vovka=- Посмотреть сообщение
    Еще вопрос по работе со строками.
    Код:
    s1 : STRING := "12345678';
    s2 : STRING := '';
    x : INT;
    
    FOR x := 0 TO LEN( s1 ) DO
      ...
      s2 := CONCAT( s2, s1[x] );
    END_FOR
    по идее на выходе s2 должна быть копией s1, но там коды символов вместо самих символов.
    я так понимаю, что s1[x] нужно перевести в строку?
    как исправить?
    Код:
    VAR
    	s1 : STRING := '12345678';
    	s2 : STRING := '';
    	x : INT;
    END_VAR
    IF LEN(s1) <> LEN(s2) THEN
    FOR x := 1 TO LEN( s1 ) DO
      s2 := CONCAT( s2, MID(s1,1,x) );
    END_FOR
    END_IF
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  6. #6

    По умолчанию

    petera, спасибо!
    Оказывается в кодесисе поменяны местами два последних параметра!
    В си, php сначала идет позиция, а потом длина!
    И самое приятное это то, что первая позиция начинается с 1

Похожие темы

  1. Свойства символа
    от Александр N в разделе Master SCADA 3
    Ответов: 9
    Последнее сообщение: 05.07.2019, 13:22
  2. Получить данные
    от Дмитрий2840 в разделе Другие SCADA системы
    Ответов: 6
    Последнее сообщение: 21.05.2019, 12:00
  3. Добавление символа на мнемосхему
    от ALEXSP в разделе Master SCADA 3
    Ответов: 7
    Последнее сообщение: 26.11.2015, 08:43
  4. Из ASCII
    от Scream в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 18.05.2013, 09:32
  5. Тиражирование объекта и символа
    от VinSS в разделе Master SCADA 3
    Ответов: 7
    Последнее сообщение: 18.01.2013, 08:56

Ваши права

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