Author Topic: Ввод чисел от 1 до 499 в строку  (Read 3929 times)

0 Members and 2 Guests are viewing this topic.

Разумист

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Ввод чисел от 1 до 499 в строку
« on: June 06, 2019, 07:35:04 PM »
UPD2: Всем еще раз спасибо за подсказки :)

Здравствуйте. Прошу помощи в реализации скрипта по подбору чисел от 1 до 499.
Как должно быть:
Курсор летит по координатам - Клик в строку ввода чисел
Вводится число 1, нажимается Enter
Курсор летит по другой координате, возвращается в строку ввода
Вводится число 2, нажимается Enter.
И так до ввода числа 499

Это часть кода с набором числа и нажатием Enterа, клики сам напишешь.
Code: (clickermann) [Select]
INC($n,1)
IF($n < 500)
   KEYSTRING($n)
   WAITMS(50)
   KEYPRESS(#ENTER)
   WAITMS(50)
ELSE
   HALT
END_IF
Благодарю!  ;)
« Last Edit: June 08, 2019, 02:27:31 PM by Разумист »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Ввод чисел от 1 до 499 в строку
« Reply #1 on: June 06, 2019, 07:40:28 PM »
Это часть кода с набором числа и нажатием Enterа, клики сам напишешь.
Code: (clickermann) [Select]
INC($n,1)
IF($n < 500)
   KEYSTRING($n)
   WAITMS(50)
   KEYPRESS(#ENTER)
   WAITMS(50)
ELSE
   HALT
END_IF

Разумист

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Re: Ввод чисел от 1 до 499 в строку
« Reply #2 on: June 08, 2019, 10:03:59 AM »
Это часть кода с набором числа и нажатием Enterа, клики сам напишешь.
Code: (clickermann) [Select]
INC($n,1)
IF($n < 500)
   KEYSTRING($n)
   WAITMS(50)
   KEYPRESS(#ENTER)
   WAITMS(50)
ELSE
   HALT
END_IF

Сделал так:
Code: [Select]

LCLICK(927,572)
KEYSTRING("текст")
wait(5)
LCLICK(936,633)
wait(6)
LCLICK(920,1001)
wait(10)


LCLICK(1201,551)  // клик на строку ввода
wait(1)
 
INC($n,201)       
IF($n < 844)
   KEYSTRING($n)
   WAITMS(50)
   KEYPRESS(#ENTER)
   WAITMS(50)
ELSE
   HALT
END_IF

wait(13)
LCLICK(970,465)

wait(4)

//обновляется браузерная страница, и переходит в самое начало.


В первый раз вводится 201. Потом вводится уже 404, хотя должно 202. Код повторяется, по кликам всё окей, попадает. В чем ошибка?)
« Last Edit: June 08, 2019, 10:06:23 AM by Разумист »

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Re: Ввод чисел от 1 до 499 в строку
« Reply #3 on: June 08, 2019, 11:20:54 AM »
Ошибки нет, ты каждый раз увеличиваешь значение переменной $n на 201

Как вариант можно написать вот так
Code: (clickermann) [Select]
$n = $n + ($n < 200)*200 + 1
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Ввод чисел от 1 до 499 в строку
« Reply #4 on: June 08, 2019, 11:28:29 AM »
Переменная $n инициируется при первом упоминании со значением 0. Нужно написать объявление этой переменной DEFINE с нужным тебе значением. DEFINE воздействует на переменную только если её не существует.

Code: (clickermann) [Select]
LCLICK(927,572)
KEYSTRING("текст")
wait(5)
LCLICK(936,633)
wait(6)
LCLICK(920,1001)
wait(10)


LCLICK(1201,551)  // клик на строку ввода
wait(1)

DEFINE($n, 201) // начальное значение
IF($n < 844)
   KEYSTRING($n)
   WAITMS(50)
   KEYPRESS(#ENTER)
   WAITMS(50)
ELSE
   HALT
END_IF
INC($n,1)

wait(13)
LCLICK(970,465)

wait(4)

//обновляется браузерная страница, и переходит в самое начало.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Ввод чисел от 1 до 499 в строку
« Reply #5 on: June 08, 2019, 11:32:27 AM »
Вообще проще поместить код в цикл FOR который сам будет отсчитывать переменную и выполнять код пока условие верно

Code: (clickermann) [Select]
FOR($n=201,$n<=844) // начальное 201 конечное 844
   LCLICK(927,572)
   KEYSTRING("текст")
   wait(5)
   LCLICK(936,633)
   wait(6)
   LCLICK(920,1001)
   wait(10)     
   
   LCLICK(1201,551)  // клик на строку ввода
   wait(1)
   
   KEYSTRING($n)
   WAITMS(50)
   KEYPRESS(#ENTER)
   wait(13)
   
   LCLICK(970,465)
   wait(4)
   
   //обновляется браузерная страница, и переходит в самое начало.
   
END_CYC
HALT