Author Topic: Ошибка при вызове функции: POP()  (Read 2097 times)

0 Members and 1 Guest are viewing this topic.

kirihor

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Ошибка при вызове функции: POP()
« on: February 15, 2020, 12:46:13 PM »
$HWnd = 0

while($HWnd = 0)
   $HWnd = WNDFIND("Everve | Социальное продвижение 80-го уровня - Mozilla Firefox")
   waitms(500)
end_cyc


WNDSIZE ($HWnd, 1150, 800)
waitms(250)
WndPos ($HWnd, 0, 0)
waitms(250)

WNDGETINFO ($HWnd, $var1, $var2, $var3, $var4)
print($var3)
print($var4)

print("Номер вікна - ", $HWnd)
$HSET ($HWnd,1)

Sait:
wait(10)
GETSCREEN ($HWnd)
print("Сторінка перегляду сайтів ")
IF_PICTURE_IN (700, 450, 1100,800, "sait.bmp")
   move ($_return1, $_return2)
   wait(5)
   lclick($_return1, $_return2)
   print("Перегдял сайту")
   Wait(3)
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN  ($HWnd)
      IF_PICTURE_IN (400, 450, 750, 610, "goo.bmp")
         $check = 1
         move ($_return1, $_return2)
         print ("Вихід")
         LCLICK($_return1, $_return2)
         GOTO(Sait)
         WAITMS(100)
         
      ELSE
         WAITMS(50)
      END_IF
      END_IF
   END_CYC


Выскакивает такая ошибка при вмполнении сценария:
"Ошибка при вызове функции: POP()"
Подскажите в чем я напортачил.

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Ошибка при вызове функции: POP()
« Reply #1 on: February 15, 2020, 03:07:00 PM »
Потому что ошибки. Если это весь скрипт, то так скорее всего правильно. Если нет, то прокомментируй свой задуманный алгоритм, поправлю.
Code: (clickermann) [Select]
while($HWnd = 0)
   $HWnd = WNDFIND("Everve | Социальное продвижение 80-го уровня - Mozilla Firefox")
   waitms(500)
end_cyc


WNDSIZE ($HWnd, 1150, 800)
waitms(250)
WndPos ($HWnd, 0, 0)
waitms(250)

WNDGETINFO ($HWnd, $var1, $var2, $var3, $var4)
print($var3)
print($var4)

print("Номер вікна - ", $HWnd)
$HSET ($HWnd,1)


wait(10)

WHILE(1)

   print("Сторінка перегляду сайтів ")
   GETSCREEN   
   IF_PICTURE_IN (700, 450, 1100,800, "sait.bmp")
      move ($_return1, $_return2)
      wait(5)
      lclick($_return1, $_return2)
      print("Перегдял сайту")
      Wait(3)
     
      $check = 0
      WHILE($check = 0)
     
         GETSCREEN
         IF_PICTURE_IN (400, 450, 750, 610, "goo.bmp")
            $check = 1
            move ($_return1, $_return2)
            print ("Вихід")
            LCLICK($_return1, $_return2)
            WAITMS(100)         
         ELSE
            WAITMS(50)
         END_IF
         
      END_CYC
     
   END_IF
   
END_CYC

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Ошибка при вызове функции: POP()
« Reply #2 on: February 15, 2020, 09:36:19 PM »
Это что такое...?
GETSCREEN  ($HWnd)
А это что...?
$HSET ($HWnd,1)

IF_PICTURE_IN (который ищет goo.bmp) почему-то закрывает END_CYC, а цикл WHILE($check = 0) закрывает END_IF...

Code: (clickermann) [Select]
$HWnd = WNDFIND("Everve | Социальное продвижение 80-го уровня - Mozilla Firefox") // Ищем окно с заданным заголовком
IF($HWnd) // Если такое окно найдено
   WNDGETINFO ($HWnd, $var1, $var2, $var3, $var4) // Получаем о нем информацию
   IF(($var3 ! 1150) | ($var4 ! 800)) // Если его размеры не соответствуют нужным
      WNDSIZE ($HWnd, 1150, 800) // То задаем ему размеры
   else // Иначе (если размеры окна соответствуют нужным)
      IF(($var1 ! 0) | ($var2 ! 0)) // Проверяем - если координаты окна не соответствуют нужным
         WndPos ($HWnd, 0, 0) // То перемещаем его в нужные координаты
      else // Иначе (если координаты окна соответствуют нужным)
         print("Номер вікна - ", $HWnd)
         // До этого момента можешь удалить все свое и поставить этот скрипт
         // Дальше я просто не понимаю, что происходит у тебя...
      END_IF
   END_IF
END_IF

WAITMS(50)
« Last Edit: February 16, 2020, 09:59:24 PM by Hito »
Я не ду... Потому и не бу...

kirihor

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Ошибка при вызове функции: POP()
« Reply #3 on: February 16, 2020, 11:35:06 AM »
Sait:
wait(10)
GETSCREEN ($HWnd)     делаю снимок нужного окна
print("Сторінка перегляду сайтів ")
IF_PICTURE_IN (700, 450, 1100,800, "sait.bmp")   ищу нужную кнопку
   move ($_return1, $_return2)
   wait(5)
   lclick($_return1, $_return2)
   print("Перегдял сайту")
   Wait(3)
После нажатия открывается новое окно, а в предыдущем запускается таймер до 30с.
Через 30с новое окно закрывается само а в предыдущем  появляется нужная кнопка   "goo.bmp"


   $check = 0
   WHILE($check = 0)
      GETSCREEN  ($HWnd)        делаю повторный снимок чтоб поймать кнопку
      IF_PICTURE_IN (400, 450, 750, 610, "goo.bmp")
         $check = 1
         move ($_return1, $_return2)
         print ("Вихід")
         LCLICK($_return1, $_return2)
         GOTO(Sait)
WAITMS(100)
Дальше нужно все повторить, пока есть кнопка     "sait.bmp"    
      ELSE
         WAITMS(50)
      END_IF
      END_IF
   END_CYC
   
« Last Edit: February 16, 2020, 11:40:20 AM by kirihor »

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Ошибка при вызове функции: POP()
« Reply #4 on: February 16, 2020, 05:53:45 PM »
GETSCREEN ($HWnd)     делаю снимок нужного окна
Я может не знаю чего-то...? У нас есть такая функция...? Откуда ты ее взял? Я вот сейчас открыл справку и вот, что в ней написано:
Code: (xml) [Select]
Синтаксис
GETSCREEN ([x1, y1, x2, y2] )

Параметры
x1, y1, x2, y2 - параметры, описывающие область экрана; необязательны

А вот это замечание ни о чем тебе не сказало...?
IF_PICTURE_IN (который ищет goo.bmp) почему-то закрывает END_CYC, а цикл WHILE($check = 0) закрывает END_IF...

Я понимаю, когда человеку нужна помощь, но когда человек полностью игнорит при этом что ему говорят - мне не понятно. Тебе просто нужен готовый скрипт рабочий? Тогда почему бы тебе не написать в биржу труда...?
Я не ду... Потому и не бу...

kirihor

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Ошибка при вызове функции: POP()
« Reply #5 on: February 16, 2020, 06:42:39 PM »
Спасибо за помощь. Разобрался