Author Topic: Как установить задержку по времени между двумя циклами?  (Read 1885 times)

0 Members and 1 Guest are viewing this topic.

sovaxa

  • Освоившийся
  • **
  • Posts: 72
    • View Profile
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(1260,530, 1340,560, 255)
      WAITMS(50)
      DBLCLICK(1270,25)
      WAITMS(50)
      LCLICK(185,745)
      WAITMS(500)
      $check = 1
   END_IF
END_CYC
 
Как установить задержку по времени между этими двумя циклами?
 
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(50,13, 94,17, 5544507)
      LCLICK(274,545)
      WAITMS(50)
      LCLICK(316,596)
      WAITMS(50)
      LCLICK(336,545)
      WAITMS(50)
      $check = 1

   END_IF
END_CYC

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Так?
Code: (clickermann) [Select]
$check = 0
$time = $_time_t

WHILE(($check = 0) & (($time + 20) > $_time_t)) //цикл будет выполняться, пока не найдет пиксель. И если за 20 сек не надет, перейдет к следующему циклу.
   GETSCREEN
   IF_PIXEL_IN(1260,530, 1340,560, 255)
      WAITMS(50)
      DBLCLICK(1270,25)
      WAITMS(50)
      LCLICK(185,745)
      WAITMS(500)
      $check = 1
   END_IF
END_CYC



//начнет выполняться если найден пиксель в предыдущем цикле, либо через 20 сек
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(50,13, 94,17, 5544507)
      LCLICK(274,545)
      WAITMS(50)
      LCLICK(316,596)
      WAITMS(50)
      LCLICK(336,545)
      WAITMS(50)
      $check = 1     
   END_IF
END_CYC

sovaxa

  • Освоившийся
  • **
  • Posts: 72
    • View Profile
//цикл будет выполняться, пока не найдет пиксель. И если за 20 сек не надет, перейдет к следующему циклу.

Это не совсем то что мне нужно. На следующий цикл должен переходить через 20 секунд, после того как будет найден пиксель.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
У тебя в коде куча задержек и ты не знаешь как её вставить между циклами?
В чём WAITMS(20000) между циклами такая особенная?


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
dramster не пытался быть провидцем, не стоило и начинать  :D ;D
Сразу понятно, что задание мутное. С неозвученными вариантами так сказать. Угадать что на самом деле нужно вероятность небольшая.
И уж никто не подумает о проблеме тупо вставить задержку. Потому что это и не проблема и тему заводить для этого никто не станет... А, нет, постойте...


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
//цикл будет выполняться, пока не найдет пиксель. И если за 20 сек не надет, перейдет к следующему циклу.

Это не совсем то что мне нужно. На следующий цикл должен переходить через 20 секунд, после того как будет найден пиксель.

Ты шутишь что ли?!
Помести это между циклами.
Code: (clickermann) [Select]
WAIT(20) // задержка на 20 секунд

sovaxa

  • Освоившийся
  • **
  • Posts: 72
    • View Profile
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(1260,530, 1340,560, 255)
      WAITMS(50)
      DBLCLICK(1270,25)
      WAITMS(50)
      LCLICK(185,745)
      WAITMS(500)
      $check = 1
   END_IF
END_CYC
 
WAIT(20)
 
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(50,13, 94,17, 5544507)
      LCLICK(274,545)
      WAITMS(50)
      LCLICK(316,596)
      WAITMS(50)
      LCLICK(336,545)
      WAITMS(50)
      $check = 1

   END_IF
END_CYC


Делал татк, но второй цикл всеравно раньше времени проверяет свое условие и после задержки выполняет его потом выполняет его. А он должен проверять свое условие через WAIT(20)!

sovaxa

  • Освоившийся
  • **
  • Posts: 72
    • View Profile
Как не странно, на этот раз сработало. Спасибо всем!