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

Тема: 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
    Адрес
    Москва
    Сообщений
    12,062

    По умолчанию

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

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

    По умолчанию

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

    Код:
    // функция склеивает заданное число строковых переменных, помещенных в массив
    
    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
    Адрес
    Москва
    Сообщений
    12,062

    По умолчанию

    Цитата Сообщение от Игорь Владимирович Посмотреть сообщение
    спасибо, но нельзя ли ка-кто попроще на пальцах? те чтобы в место 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

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

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 3177
    Последнее сообщение: Вчера, 12:47
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 822
    Последнее сообщение: 20.11.2023, 17:48
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 245
    Последнее сообщение: 02.10.2022, 11:34
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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