Author Topic: помогите прочитать текст из файла  (Read 5101 times)

0 Members and 1 Guest are viewing this topic.

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: помогите прочитать текст из файла
« Reply #15 on: March 17, 2022, 03:17:04 PM »
Ошибка такого характера почему то есть http://prntscr.com/g8kBAjHxB7fO что это значит?
Потому, что цикл ты сделал от 1 до 3, а не как я дал - от 0 до 2.



Следую пока по первому варианту, если такая возможность уменьшить скорость выставления чекбоксов? не успевает ответ от сервера придти, а если не выбран ни один чек бокс дальше не пускает
Code: (clickermann) [Select]
GETSCREEN

FOR($i=0,$i<2)
   
   $flag = 1
   
   WHILE($flag)
      $variant[$i] = RND (1, 5)
      SWITCH($variant[$i])
         CASE(1)
            // Здесь координаты первого варианта
            IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
               
               LCLICK(10,10)
               
               $time = $_time_t + 2
               WHILE($time > $_time_t)
                  GETSCREEN
                  IF_PICTURE_IN (0,0, 10,10, "чекбокс отмечен.bmp", -1, 100)
                     $time = 0
                     $flag = 0
                  ELSE
                     WAITMS(50)
                  END_IF
               END_CYC
            END_IF
         CASE(2)
            // Здесь координаты второго варианта
            IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
               
               LCLICK(10,10)
               
               $time = $_time_t + 2
               WHILE($time > $_time_t)
                  GETSCREEN
                  IF_PICTURE_IN (0,0, 10,10, "чекбокс отмечен.bmp", -1, 100)
                     $time = 0
                     $flag = 0
                  ELSE
                     WAITMS(50)
                  END_IF
               END_CYC
            END_IF
         CASE(3)
            // Здесь координаты третьего варианта
            IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
               
               LCLICK(10,10)
               
               $time = $_time_t + 2
               WHILE($time > $_time_t)
                  GETSCREEN
                  IF_PICTURE_IN (0,0, 10,10, "чекбокс отмечен.bmp", -1, 100)
                     $time = 0
                     $flag = 0
                  ELSE
                     WAITMS(50)
                  END_IF
               END_CYC
            END_IF
         CASE(4)
            // Здесь координаты четвертого варианта
            IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
               
               LCLICK(10,10)
               
               $time = $_time_t + 2
               WHILE($time > $_time_t)
                  GETSCREEN
                  IF_PICTURE_IN (0,0, 10,10, "чекбокс отмечен.bmp", -1, 100)
                     $time = 0
                     $flag = 0
                  ELSE
                     WAITMS(50)
                  END_IF
               END_CYC
            END_IF
         CASE(5)
            // Здесь координаты пятого варианта
            IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
               
               LCLICK(10,10)
               
               $time = $_time_t + 2
               WHILE($time > $_time_t)
                  GETSCREEN
                  IF_PICTURE_IN (0,0, 10,10, "чекбокс отмечен.bmp", -1, 100)
                     $time = 0
                     $flag = 0
                  ELSE
                     WAITMS(50)
                  END_IF
               END_CYC
            END_IF
      END_SWITCH
   END_CYC
END_CYC

HALT
« Last Edit: March 17, 2022, 03:19:53 PM by Hito »
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: помогите прочитать текст из файла
« Reply #16 on: March 17, 2022, 03:23:14 PM »
И это... Я тебе даю сбоеустойчивый вариант. А ты уже делай, как хочешь. Пример в моем варианте виден. Крути его уже под себя сам.
Я не ду... Потому и не бу...

Ellen

  • Освоившийся
  • **
  • Posts: 54
    • View Profile
Re: помогите прочитать текст из файла
« Reply #17 on: March 17, 2022, 03:26:39 PM »
Ошибка такого характера почему то есть http://prntscr.com/g8kBAjHxB7fO что это значит?

+ как сделать чтобы рандом генератор случайно не выбрал одну и ту же цифру, просто иногда бывает что галочка на чек боксе ставится, потом убирается и из за этого нельзя дальше пройти

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: помогите прочитать текст из файла
« Reply #18 on: March 17, 2022, 03:31:04 PM »
просто иногда бывает что галочка на чек боксе ставится, потом убирается
В последнем моем варианте все сделано.

Ошибка такого характера почему то есть http://prntscr.com/g8kBAjHxB7fO что это значит?
Я уже объяснил - читай выше.
« Last Edit: March 17, 2022, 11:03:29 PM by Hito »
Я не ду... Потому и не бу...

Oblie1968

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите прочитать текст из файла
« Reply #19 on: March 20, 2022, 06:17:22 PM »
+ как сделать чтобы рандом генератор случайно не выбрал одну и ту же цифру, просто иногда бывает что галочка на чек боксе ставится, потом убирается и из за этого нельзя дальше пройти

У тебя всего ДВА рандомных числа, да выбери ты их сразу.

Code: (clickermann) [Select]
$variant[0] = RND (0, 4)
$variant[1] = RND (0, 3)
if ($variant[1]==$variant[0])
  $variant[1]=4
end_if

Загони координаты клика в массив, чтобы не долбить один и тот же код, как дятел, и не ошибиться.

Code: (clickermann) [Select]
$xclick[0]=509
$yclick[0]=439 // Здесь координаты первого варианта
$xclick[1]=511
$yclick[1]=472 // Здесь координаты второго варианта
// и т.д.

И только потом уже делай свой цикл на два клика, без всяких SWITCH, используя $xclick, $yclick

Code: (clickermann) [Select]
FOR($i=0,$i<2)
   $flag = 1
   $xn=$xclick[$variant[$i]]
   $yn=$yclick[$variant[$i]]
   WHILE($flag)
     GETSCREEN
     IF_PICTURE_IN (0,0, 10,10, "чекбокс не отмечен.bmp", -1, 100)
       LCLICK($xn,$yn)
     ELSE
       $flag = 0
     END_IF
     WAITMS(50)
   END_CYC
END_CYC

Если надо, диапазон проверки картинки тоже к $xn,$yn привяжи, а проще не картинку искать/проверять, а один пиксель, который изменится при успешном клике. По этому пикселю и кликай. Тогда и $flag не нужен будет.

Code: (clickermann) [Select]
FOR($i=0,$i<2)
   $xn=$xclick[$variant[$i]]
   $yn=$yclick[$variant[$i]]
   GETSCREEN
   $cn=PXL($xn,$yn)
   WHILE($cn==PXL($xn,$yn))
     LCLICK($xn,$yn)
     WAITMS(50)
     GETSCREEN
   END_CYC
END_CYC

Я бы ещё WHILE на FOR заменил, во избежание зацикливания.
« Last Edit: March 20, 2022, 06:27:41 PM by Oblie1968 »