
Сообщение от
АлександрН
Изначально стояла задача вывести на экран номер аварии цифрой, соответственно, если несколько аварий включаются одновременно - на экран выводятся несколько цифр подряд.
образец.zip
Варианты:
1.
Циклически номера текущих аварий прям текстом - это же понятней безликих цифирей
Дин.текст рулит
(Сергей0308 - выше сказал)
2.
Хоцца все сразу : 8 буль.текстов и (2456) в виде "-2-456--" . Даже как-то кошерней. Цифры на своих местах
(распоковать биты в були нужно будет)
3.
Уперся за каким-то именно десятичный (да еще и обратный вид) - да накой степени и квадратики - то ?
Код:
функция индус : udint
инпут
маска //аварий
--
if маска.0 then индус := индус + 80000000; end_if //индус не любит человеческих уступов когда много строк
if маска.1 then индус := индус + 7000000; end_if
...
if маска.6 then индус := индус + 20; end_if
if маска.7 then индус := индус + 1; end_if
или по-кодерски
Код:
функция неиндус : udint
---
for i := 1 to 8 do
if маска.0 then
неиндус := неиндус * 10 + i;
end_if
маска := маска / 2;
end_for