Author Topic: Задержка в подпрограмме не выполняется  (Read 1378 times)

0 Members and 1 Guest are viewing this topic.

Fuego47

  • Освоившийся
  • **
  • Posts: 20
    • View Profile
Помогите сделать так, что бы во время задержки WAIT($y) в подпрограмме не выполянлись условия if_pixel_in во 2ой и 3ей части программы. Важно чтобы задержка была именно паузой всей программы
Code: [Select]
SUB(подпрограмма)
   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)
   WAIT($y)                                         //необходимая задержка
   GETSCREEN(759, 201, 1345, 480)
   WAITMS(100)
      IF_PICTURE_IN (759, 201, 1345, 480,"003.bmp")
        WAITMS(100)
        LCLICK(1200,640)
      END_IF
END_SUB
 
                     // Часть 2

GETSCREEN(759, 201, 1345, 480)
if_pixel_in(759, 201, 1345, 480, 5289606) 
   $x = 1
   $y = 1
   LOGWRITE ("зелёный +++++")
   WAIT(10)
   подпрограмма()
END_IF

                    // Часть 3

GETSCREEN(759, 201, 1345, 480)
if_pixel_in(759, 201, 1345, 480, 3618015)   
   $x = $x*2
   $y = 15
   LOGWRITE ("красный ",$x)
   WAIT(10)
   подпрограмма()
END_IF
 

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Задержка в подпрограмме не выполняется
« Reply #1 on: September 06, 2018, 08:34:56 AM »
В этом коде нет потоков а значит все выполняется последовательно. Разобраться в ситуации помогает запись в лог.
Code: (clickermann) [Select]
SUB(подпрограмма)
   LOGWRITE ("Начало подпрограммы")
   WAITMS(100)
   LCLICK(827,553)
   WAITMS(200)
   KEYPRESS(#DELETE)
   WAITMS(100)
   KEYPRESS(#DELETE)
   WAITMS(100)
   KEYPRESS(#DELETE)
   WAITMS(100)
   KEYPRESS(#DELETE)
   WAITMS(200)
   LOGWRITE ("KEYSTRING: ", $x)
   KEYSTRING($x)
   LOGWRITE ("Задержка начало: ", $y)
   WAIT($y)
   LOGWRITE ("Задержка конец: ", $y)                                         //необходимая задержка
   GETSCREEN(759, 201, 1345, 480)
   IF_PICTURE_IN (759, 201, 1345, 480,"003.bmp")
      LOGWRITE ("Найдена картинка 003.bmp")
      WAITMS(100)
      LCLICK(1200,640)
      WAITMS(100)
   END_IF
   LOGWRITE ("Конец подпрограммы")
END_SUB

// Часть 2

GETSCREEN(759, 201, 1345, 480)
if_pixel_in(759, 201, 1345, 480, 5289606)
   $x = 1
   $y = 1
   LOGWRITE ("зелёный +++++")
   WAIT(10)
   подпрограмма()
END_IF

// Часть 3

GETSCREEN(759, 201, 1345, 480)
if_pixel_in(759, 201, 1345, 480, 3618015)
   $x = $x*2
   $y = 15
   LOGWRITE ("красный ",$x)
   WAIT(10)
   подпрограмма()
END_IF

WAITMS(50)
« Last Edit: September 06, 2018, 08:37:38 AM by Oraven »