Я пытаюсь сравнить один символ строки, чтобы увидеть, является ли он моим символом-разделителем. Однако, когда я выполняю следующий код, значение, которое помещается в переменную valstring
, представляет собой число, представляющее байт, который был преобразован в строку, а не сам символ. Например, значением может быть строка «58».
Благодаря тестированию в CoDeSys с использованием функций отладки я знаю, что строка sReadLine
содержит допустимую строку символов. Я просто не уверен в синтаксисе, чтобы выделить только один из них; часть sReadLine[valPos + i]
- это то, чего я не понимаю.
sReadLine : STRING;
valstring : STRING;
i : INT;
valPos : INT;
FOR i := 0 TO 20 DO
IF BYTE_TO_STRING(sReadLine[valPos + i]) = '"' THEN
EXIT;
END_IF
valstring := CONCAT(STR1 := valstring, STR2 := BYTE_TO_STRING(sReadLine[valPos + i]));
END_FOR