Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version » Глобальные аргументы из функций

   
Автор / Author Тема / Topic: Глобальные аргументы из функций
Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358


Icon 1 отправлено / posted      Профиль для / Profile for Поляков Илья           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Так понимаю, что нельзя из функций обращаться к глобальным аргументам?

Есть код вида

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 | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Глобальные переменные могут использоваться в любом месте программы, в том числе и в функции.
Сообщения / Posts 17117 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358


Icon 1 отправлено / posted      Профиль для / Profile for Поляков Илья           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Переменные ДА, а АРГУМЕНТЫ нет! Я то про аргуметы толкую...
Сообщения / Posts 68 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Словом глобальные Вы ввели нас немного в заблуждение. С аргументами самой программы функция не работает. Поэтому создание функции в Вашем случае нецелесообразно.

Насколько мы поняли все 192 аргумента являются выходными в зависимости от канала, в который нужно отправлять значение. Возможно легче будет напрямую работать с каналами с помощью функций setAttribute. В этом случае возможна работа с индексами.

Сообщения / Posts 17117 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2