Пожалуйста, включите JavaScript для просмотра этого сайта.

Скрипты Simple-Scada

История: Примеры скриптов > Сокращение кода

Сокращение повторяющегося кода

Пред. Вверх След. Еще

Часто бывает необходимо несколько раз проделать одни и те же действия в скрипте, но для разных объектов (или переменных). Для примера рассмотрим скрипт:

begin
  Field1.Value := 10;
  Shape1.Color := clRed;
 
  Field2.Value := 10;
  Shape2.Color := clRed;
 
  Field3.Value := 10;
  Shape3.Color := clRed;
 
  Field4.Value := 10;
  Shape4.Color := clRed;
 
  Field5.Value := 10;
  Shape5.Color := clRed;
 
  // и т.д.
end.

 

В этом скрипте в переменные объектов "Поле" записывается значение = 10, а у объектов "Фигура" цвет меняется на красный. Чтобы сократить код, можно создать подпроцедуру, которая будет принимать объекты "Поле" и "Фигура", и у объекта "Поле" менять значение переменной на 10, а у объекта "Фигура" менять цвет на красный. Подпроцедуры объявляются перед основным блоком "begin..end". Назовем подпроцедуру "Change" и напишем скрипт:

  procedure Change(AField: TM_Field; AShape: TM_Shape);
  begin
    AField.Value := 10;
    AShape.Color := clRed;
  end;
 
begin
  Change(Field1, Shape1);
  Change(Field2, Shape2);
  Change(Field3, Shape3);
  Change(Field4, Shape4);
  Change(Field5, Shape5);
end.

Как видно из примера, подпроцедура "Change" принимает два параметра. Один имеет тип "TM_Field"(Поле), второй тип "TM_Shape"(Фигура). Такой подход позволяет не только сократить количество кода, но и облегчить его редактирование, а также повысить скорость компиляции.