Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: doctor on April 07, 2019, 03:36:14 AM

Title: Что такое подпрограмма?
Post by: doctor on April 07, 2019, 03:36:14 AM
Не подскажите, для чего нужны подпрограммы, и как они работают?
Title: Re: Что такое подпрограмма?
Post by: Oraven on April 07, 2019, 08:47:40 AM
Они нужны для оптимизации повторяющегося кода.
Title: Re: Что такое подпрограмма?
Post by: Hito on April 07, 2019, 09:32:31 AM
На пример, мы имеем скрипт:
Code: (clickermann) [Select]
IF($var = 1)
   MOVE(111,222)
   WAITMS(50)
   LDOWN(111,222)
   WAITMS(50)
   LUP(111,222)
   WAITMS(50)
else
   IF($var = 2)
      MOVE(222,333)
      WAITMS(50)
      LDOWN(222,333)
      WAITMS(50)
      LUP(222,333)
      WAITMS(50)
   else
      IF($var = 3)
         MOVE(333,444)
         WAITMS(50)
         LDOWN(333,444)
         WAITMS(50)
         LUP(333,444)
         WAITMS(50)
      END_IF
   END_IF
END_IF
WAITMS(50)

Чтобы каждый раз не прописывать клики, мы можем его оптимизировать с помощью подпрограммы - "Click":

Code: (clickermann) [Select]
SUB(Click, $par1, $par2) // подпрограмма с параметрами
   // тело выполняется только после вызова
   MOVE($par1,$par2)
   WAITMS(50)
   LDOWN($par1,$par2)
   WAITMS(50)
   LUP($par1,$par2)
   WAITMS(50)
END_SUB

IF($var = 1)
   Click(111, 222) // Вызов нашей подпрограммы
else
   IF($var = 2)
      Click(222, 333) // Вызов нашей подпрограммы
   else
      IF($var = 3)
         Click(333, 444) // Вызов нашей подпрограммы
      END_IF
   END_IF
END_IF
WAITMS(50)

Примечание: Подпрограмма в скрипте должна быть всегда прописана выше вызова.
Пы.Сы. - Это простой пример.