Author Topic: Подпрограмма закрывается до выполнения IF_PICTURE_IN  (Read 1550 times)

0 Members and 1 Guest are viewing this topic.

Fuego47

  • Освоившийся
  • **
  • Posts: 20
    • View Profile
Подпрограмма закрывается до выполнения условия IF_PICTURE_IN. Пока ожидается условие 1 в подпрограмме, появляется условие 2 или 3, которое заново запускает подпрограмму. Таким образом подпрограмма никогда не заканчивается, а бесконечно перезапускается.
Помогите найти способ игнорировать условие 2 и 3, до момента завершения подпрограммы
Code: [Select]
SUB(подпрограмма) // подпрограмма
WAITMS(100)
  LCLICK(109,154)
  WAIT($y)
    GETSCREEN(758, 215, 1341, 491)
            IF_PICTURE_IN (758, 215, 1341, 491, "007.bmp")     //Условие 1
WAITMS(100)
                LCLICK(827,553)
                        WAITMS(200)
                        KEYPRESS(#DELETE)
                        WAITMS(100)
                        KEYPRESS(#DELETE)
                        WAITMS(100)
                        KEYPRESS(#DELETE)
                        WAITMS(100)
                        KEYPRESS(#DELETE)
                        WAITMS(200)
                        KEYSTRING($x)
                        WAITMS(100)
                        LCLICK(1200,640)
                WAITMS(200)
                LCLICK(1500,150)
            END_IF
     WAITMS(100)

END_SUB

GETSCREEN(0, 0, 250, 50)
IF_PICTURE_IN (0, 0, 250, 50, "001.bmp")     //Условие 2
   $x = 1
   $y = 1
   LOGWRITE ("+")
   WAITMS(400)   
   подпрограмма()
END_IF

GETSCREEN(0, 0, 250, 50)
IF_PICTURE_IN (0, 0, 250, 50, "003.bmp")      //Условие 3
   $x = $x*2
   $y = 60
   LOGWRITE ("-",$x)
   WAITMS(400)
   подпрограмма()
END_IF

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Code: (clickermann) [Select]
SUB(подпрограмма) // подпрограмма
   WAITMS(100)
   LCLICK(109,154)
   WAIT($y)
   $check = 0
   WHILE($check = 0) // Цикл ожидания картинки
      GETSCREEN(758, 215, 1341, 491)
      IF_PICTURE_IN (758, 215, 1341, 491, "007.bmp")     //Условие 1
         PRINT("Картинка найдена")
         $check = 1 // Выход из цикла ожидания картинки
         WAITMS(100)
         LCLICK(827,553)
         WAITMS(200)
         KEYPRESS(#DELETE)
         WAITMS(100)
         KEYPRESS(#DELETE)
         WAITMS(100)
         KEYPRESS(#DELETE)
         WAITMS(100)
         KEYPRESS(#DELETE)
         WAITMS(200)
         KEYSTRING($x)
         WAITMS(100)
         LCLICK(1200,640)
         WAITMS(200)
         LCLICK(1500,150)
      ELSE
         PRINT("Картинка не найдена")
      END_IF
      WAITMS(15)
   END_CYC
   WAITMS(100)
END_SUB
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»