Если б меня такими квадратиками учили - ушел бы в балет.
Битовых констант в ПР нема, "но всё же мы не привыкли отступать "(С), чево вижу - то и пою.
Код:
Key :=
bool_to_udint(SB1) * 10000 +
bool_to_udint(SB2) * 1000 +
bool_to_udint(SQ1) * 100 +
bool_to_udint(SQ2) * 10 +
bool_to_udint(SQ3) * 1;
case Key of
00000..01111: KM1 := 0; KM2 := 1;
11000..11111: KM1 := 0; KM2 := 1;
10000: KM1 := 1; KM2 := 1;
10001: KM1 := 1; KM2 := 1;
10010: KM1 := 1; KM2 := 1;
10011: KM1 := 0; KM2 := 0;
10100: KM1 := 1; KM2 := 1;
10101: KM1 := 0; KM2 := 0;
10110: KM1 := 0; KM2 := 0;
10111: KM1 := 0; KM2 := 0;
else ... //чтоб не напрягать моск и пить пиво, а не разбирать покрытие области, хотя даже замутнёный взгляд видит что покрыто))
end;
И пусть квадратофилы поговорят за наглядность квадратов