Пытаюсь удалить повторяющиеся пробелы. Написал функцию:
Выдаёт три ошибки
Помогите разобраться?
Код:
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 предупреждений : загрузка невозможна
Комментарий