Страница 339 из 857 ПерваяПервая ... 239289329337338339340341349389439839 ... ПоследняяПоследняя
Показано с 3,381 по 3,390 из 8567

Тема: CODESYS V3.5. Вопросы и ответы

  1. #3381

    По умолчанию

    Ребят в примере с работой с файлами используется функция CONCAT, если я использую StringUtils то аналог функции будет какой?
    Последний раз редактировалось Игорь Владимирович; 13.08.2021 в 15:40.

  2. #3382

    По умолчанию

    Цитата Сообщение от Игорь Владимирович Посмотреть сообщение
    Ребят в примере с работой с файлами используется функция CONCAT, если я использую StringUtils то аналог функции будет StrConcatW?
    Для WSTRING - StrConcatW, для STRING - StrConcatA
    Последний раз редактировалось saii; 13.08.2021 в 15:47.

  3. #3383

    По умолчанию

    Цитата Сообщение от saii Посмотреть сообщение
    Для WSTRING - StrConcatW, для STRING - StrConcatA
    просто описание не пойму. в стандарт CONCAT там все понятно 2 стрига пришло до 255 и один до 255символов ушел.

  4. #3384

    По умолчанию

    Как сделать чтобы это:

    Код:
    // функция склеивает заданное число строковых переменных, помещенных в массив
    
    FUNCTION CONCAT11 : STRING(255)
    VAR_INPUT
    	asSTR:			ARRAY [0..c_MAX_STR] OF STRING;
    END_VAR
    VAR
    	sBuffer:		STRING;			// промежуточная переменная
    	i:				INT;			// счетчик для цикла
    END_VAR
    
    VAR CONSTANT
    	c_MAX_STR:		INT:=10;		// размер массива строковых переменных
    END_VAR
    Код:
    FOR i:=0 TO c_MAX_STR DO
    	sBuffer:=CONCAT(sBuffer, asSTR[i]);
    END_FOR
    
    CONCAT11:=sBuffer;
    работало с WSTRING через библиотеку StringUtils без ограничения длинна строки


    библиотека стандарт используем CONCAT это для STRING, библиотека стандарт64 используем WCONCAT это для WSTRING с ограничением до 255символов

    как использовать тогда библиотеку StringUtils и функцию StrConcatW для строки длиньше чем 255 символов?
    в стандарт библиотеке там 2стороки и выход 1 строка, StrConcatW в библиотеке StringUtils вообще не понял.
    Последний раз редактировалось Игорь Владимирович; 13.08.2021 в 16:39.

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

    По умолчанию

    Цитата Сообщение от Arhin Посмотреть сообщение
    А разве для гита нужна про подписка? Фри версия codesys и такой же фри пакет Гита. Не совсем понимаю что вы имеете ввиду.
    То что сырой знаю, первая версия все таки, но хотя бы начали поддержку, баги пофиксятся.
    У CODESYS Git нет "фри пакета". Есть триал на месяц - наверное, с ним путаете.

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

    По умолчанию

    Цитата Сообщение от Игорь Владимирович Посмотреть сообщение
    Как сделать чтобы это:

    Код:
    // функция склеивает заданное число строковых переменных, помещенных в массив
    
    FUNCTION CONCAT11 : STRING(255)
    VAR_INPUT
    	asSTR:			ARRAY [0..c_MAX_STR] OF STRING;
    END_VAR
    VAR
    	sBuffer:		STRING;			// промежуточная переменная
    	i:				INT;			// счетчик для цикла
    END_VAR
    
    VAR CONSTANT
    	c_MAX_STR:		INT:=10;		// размер массива строковых переменных
    END_VAR
    Код:
    FOR i:=0 TO c_MAX_STR DO
    	sBuffer:=CONCAT(sBuffer, asSTR[i]);
    END_FOR
    
    CONCAT11:=sBuffer;
    работало с WSTRING через библиотеку StringUtils без ограничения длинна строки


    библиотека стандарт используем CONCAT это для STRING, библиотека стандарт64 используем WCONCAT это для WSTRING с ограничением до 255символов

    как использовать тогда библиотеку StringUtils и функцию StrConcatW для строки длиньше чем 255 символов?
    в стандарт библиотеке там 2стороки и выход 1 строка, StrConcatW в библиотеке StringUtils вообще не понял.
    https://faq.codesys.com/display/CDSF...255+Characters

  7. #3387

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    спасибо, но нельзя ли ка-кто попроще на пальцах? те чтобы в место CONCAT с ограничение в 255символов использовать библиотеку StringUtils нужно исписать несколько страниц кода?

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

    По умолчанию

    Цитата Сообщение от Игорь Владимирович Посмотреть сообщение
    спасибо, но нельзя ли ка-кто попроще на пальцах? те чтобы в место CONCAT с ограничение в 255символов использовать библиотеку StringUtils нужно исписать несколько страниц кода?
    Попроще:

    Код:
    PROGRAM PLC_PRG
    VAR
    	sLongStr1:	STRING(4096) := 'длинная строка 1';
    	sLongStr2:	STRING(4096) := 'длинная строка 2';
    	sVeryLongStr:	STRING(8192);
    	xConcat:		BOOL;
    END_VAR
    
    IF xConcat THEN
    	
    	// склеить sLongStr1 и sLongStr2 в sVeryLongStr
    	STU.StrConcatA(ADR(sLongStr1), ADR(sVeryLongStr), SIZEOF(sVeryLongStr) );
    	STU.StrConcatA(ADR(sLongStr2), ADR(sVeryLongStr), SIZEOF(sVeryLongStr) );
    	xConcat := FALSE;
    
    END_IF

  9. #3389

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Попроще:

    Код:
    PROGRAM PLC_PRG
    VAR
    	sLongStr1:	STRING(4096) := 'длинная строка 1';
    	sLongStr2:	STRING(4096) := 'длинная строка 2';
    	sVeryLongStr:	STRING(8192);
    	xConcat:		BOOL;
    END_VAR
    
    IF xConcat THEN
    	
    	// склеить sLongStr1 и sLongStr2 в sVeryLongStr
    	STU.StrConcatA(ADR(sLongStr1), ADR(sVeryLongStr), SIZEOF(sVeryLongStr) );
    	STU.StrConcatA(ADR(sLongStr2), ADR(sVeryLongStr), SIZEOF(sVeryLongStr) );
    	xConcat := FALSE;
    
    END_IF
    Супер! проверим!
    STRING(8192) цисло произвольное? например 32768 реально?

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

    По умолчанию

    Цитата Сообщение от Игорь Владимирович Посмотреть сообщение
    Супер! проверим!
    STRING(8192) цисло произвольное? например 32768 реально?
    Да, числа в примере выбраны произвольно.
    32768 - реально.

Страница 339 из 857 ПерваяПервая ... 239289329337338339340341349389439839 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 4044
    Последнее сообщение: 17.12.2025, 10:15
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 849
    Последнее сообщение: 16.11.2025, 08:58
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 273
    Последнее сообщение: 08.09.2025, 13:21
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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