Только надо убедиться, что все переменные друг за другом в памяти идут и не попадают под выравнивание.Код:VAR in1, in2, in3, in4, in5: BOOL; inp: POINTER TO BOOL; x: INT; END_VAR FOR x := 0 TO 4 DO inp := ADR(in1) + x; IF inp^ THEN (* Whatever *) END_IF END_FOR
Вообще программисту, который пишет «IF что-то = TRUE THEN» вместо «IF что-то THEN», я настоятельно рекомендую не баловаться указателями и делать подобные вещи через промежуточный массив.




Ответить с цитированием