Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358
отправлено / posted
Так понимаю, что нельзя из функций обращаться к глобальным аргументам?
Есть код вида
case fld_i of 1: arg_001:=tmp_val; 2: arg_002:=tmp_val; 3: arg_003:=tmp_val; ... 191: arg_191:=tmp_val; 192: arg_192:=tmp_val; end_case;
Т.е. значение аргументов переписывается из tmp_val, номер обновляемого аргумента определяется fld_i.
Хотелось бы как то скрывать такие большие куски из основного цикла программы, дабы улучшать читаемость кода.
Предполагал упаковывать это в функцию, но не получается, требуется создание огромного количества аргументов у функции, если не использовать обращения к глобальным аргументам прямо из тела функции.
Хотелось бы услышать Ваше мнение, относительно технологии программирования в описаном случае.
Сообщения / Posts 68 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Глобальные переменные могут использоваться в любом месте программы, в том числе и в функции.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358
отправлено / posted
Словом глобальные Вы ввели нас немного в заблуждение. С аргументами самой программы функция не работает. Поэтому создание функции в Вашем случае нецелесообразно.
Насколько мы поняли все 192 аргумента являются выходными в зависимости от канала, в который нужно отправлять значение. Возможно легче будет напрямую работать с каналами с помощью функций setAttribute. В этом случае возможна работа с индексами.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |