Пытаюсь удалить повторяющиеся пробелы. Написал функцию:
Выдаёт три ошибки
Помогите разобраться?
Код:
FUNCTION DEL_SPACES : STRING
VAR_INPUT
inputString : STRING(255);
END_VAR
VAR
outputString : STRING(255);
i : INT;
prevChar : STRING(1);
END_VAR
outputString := '';
prevChar := '';
FOR i := 1 TO LEN(inputString) DO
IF inputString[i] <> ' ' THEN
outputString := CONCAT(outputString, inputString[i]);
prevChar := inputString[i];
ELSIF prevChar <> ' ' THEN
outputString := CONCAT(outputString, ' ');
prevChar := ' ';
END_IF
END_FOR
DEL_SPACES := outputString;
Код:
------ Компиляция : Приложение: Device.Sim.Device.Application ------- типизировать код... генерировать код... [ERROR] test_frame: DEL_SPACES [Device: Plc Logic: Application](Строка 5, Столбец 1 (Реализ.)): C0066: Невозможно сравнить тип 'BYTE' с типом 'STRING(INT#1)' [ERROR] test_frame: DEL_SPACES [Device: Plc Logic: Application](Строка 6, Столбец 1 (Реализ.)): C0032: Невозможно конвертировать тип 'BYTE' в тип 'STRING(255)' [ERROR] test_frame: DEL_SPACES [Device: Plc Logic: Application](Строка 7, Столбец 1 (Реализ.)): C0032: Невозможно конвертировать тип 'BYTE' в тип 'STRING(1)' Компиляция завершена -- 3 ошибок, 2 предупреждений : загрузка невозможна

Комментарий