Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - -ELRO-

Pages: [1] 2
1
...

https://www.draw.io/#G0B8SvrGGtNK8Fb3lSZWpMb0RhZG8

Документ открывается "только для чтения" и даже чат не позволяет начать  :-[
А я бы поболтал бы "по сути"...

исправил) жду помощи)

2
лично для вас - безусловно От них - акромя пользы никакого вреда  ;) (правда, при правильном использовании...) ;D
а вы попробуйте взглянуть на эту ситуацию со стороны бригады "грузчиков" которые должны здесь эти самые контейнеры для вас ворочать?

Если я Вас понял именно так, как Вы и имели ввиду, то Вы, пожалуй, правы.

Но, если -ELRO- прочувствует преимущества пользования схем с возможностью вкладывания кода внутрь элемента, то это может поднять его на новый уровень независимости от наличия рядом помощников. Очень многое он станет способен делать сам  8) . Плюс возможность легко и выразительно оформлять суть проблемы при обращении за помощью к окружающим...

Если бы кто показал как правильно это делать) а то чет я не особо разобрался пока

3
Товарищи, я же говорю что накидал приблизительно что хочу и что я не профф!!!! я не могу же вам написать так как вы привыкли видеть. Если бы я мог я бы сам сделал, но говорю что я не настолько опытный, скорее уровень чуть выше лузера. Постараюсь исправить на более логический вид (истина/ложь). Может тогда будет понятно....

https://www.draw.io/#G0B8SvrGGtNK8Fb3lSZWpMb0RhZG8

4
Ещё бы неплохо указывать к каждому поиску (текстом или схемой) это просто "поиск" или "ожидание".
Первое - если нужно произвести просто поиск в данный момент времени и продолжение в не зависимости нашли или нет.
Второе - это дождаться картинки во чтобы то ни стало, или ждать в течении определённого времени...
Кодом и схемой это по разному реализуется, но изначально почти никто это не описывает. Приходится уточнять, а кто не уточнил сразу, потом переделывает  :(

на схеме как мог описал необходимые действия. Возможно что не все. Вот https://drive.google.com/file/d/0B8SvrGGtNK8Fb3lSZWpMb0RhZG8/view?usp=sharing

5
Вот опять тот случай, когда очень полезным оказывается браузерный редактор диаграмм draw.io

Парень - молодец, что НАЧАЛ написание скрипта именно с рисования схемы, но, в бумажном варианте, совместно со схемой работать, вносить в неё исправления не возможно. А вот открытая для совместного доступа ДИАГРАММА на Гугл-диске автора - это уже совсем другой уровень комфорта  8)

Так-что, уважаемый -ELRO-, если ты согласен с моими мыслями - открывай у себя в браузере этот редактор, рисуй туда свою схему, открывай к ней общий доступ и выкладывай сюда ссылку.
Мы с радостью тебе поможем  ;)

Выполнил. Внес кое какие изменения.
https://drive.google.com/file/d/0B8SvrGGtNK8Fb3lSZWpMb0RhZG8/view?usp=sharing

6
спасибо) был когда-то такой у меня. Вот опять нашел. Очень удобно

7
Приветствую Вас!!!
Нужна помощь в правильной организации скрипта.
проблему изложу в фото (во вложениях). Структурную схему сделал, а в скрипт перевести не могу....
Вопрос состоит в том как создать узел от надписи "Clik в х,у"
До этого узла использовал функцию SCANPICTURE, так как на самом деле идет поиск сразу нескольких картинок. В структурной схеме написал как по одной. Если левая часть выполняется полностью, то возвращаемся и делаем тоже самое но уже со смещением по координатам +10, при чем после каждого пройденого или не пройденого круга координата увеличивается на +10 по отношению к предыдущей.  Хотелось бы сделать с указанием количества выполнений этого действия ( от "Clik в х,у" ).

Я новичок, с простыми функциями я разобрался, в тут не могу понять как это все написать. Проблема с условиями.....
Буду при много благодарен за помощь. По возможности закоментируйте переходы в коде.
Спасибо!!!



p/s
добавлена и обновлена таблица алгоритма
https://www.draw.io/#G0B8SvrGGtNK8Fb3lSZWpMb0RhZG8

8
ELSE пишется только внутри условий.
В твоем случаи достаточно написать цикл с таймером.

Если за 20 секунд никакие картинки не будут найдены то цикл завершится, будет нажат PAGEDOWN и все сначала.
Code: (clickermann) [Select]
$time = $_time_t + 20 // таймер на 20 секунд
WHILE($time > $_time_t)
   GETSCREEN
   FOR($n=1,$n<4) // количество типов картинок, сейчас 3
      SCANPICTURE($ARR_SCAN, 700,90, 1270,1035, STRCONCAT("PICTURE_", $n, ".BMP"), 16777215, 100)
      FOR($im=0,$im<ARRSIZE($ARR_SCAN),2)
         LCLICK($ARR_SCAN[$im]+RND(0,5), $ARR_SCAN[$im+1]+RND(0,5)) // Клик
         WAITMS(100)
         $time = 0
      END_CYC
      UNDEFINE($ARR_SCAN)
   END_CYC
END_CYC

KEYPRESS(#PAGEDOWN)
WAITMS(500)
Спасибо. Одну часть решил

9
Ну так а зачем же у тебя там написан выход из цикла при первом совпадении? Убери $n=9999 и цикл проверит все картинки.


Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   FOR($n=1,$n<4) // количество типов картинок, сейчас 3
      SCANPICTURE($ARR_SCAN, 700,90, 1270,1035, STRCONCAT("PICTURE_", $n, ".BMP"), 16777215, 100)
      FOR($im=0,$im<ARRSIZE($ARR_SCAN),2)
         LCLICK($ARR_SCAN[$im]+RND(0,5), $ARR_SCAN[$im+1]+RND(0,5)) // Клик
         WAITMS(100)
         $check = 1     
      END_CYC
      UNDEFINE($ARR_SCAN)
   END_CYC
END_CYC

KEYPRESS(#PAGEDOWN)
WAITMS(500)

Весело получается, с этой проблемой решили. Но при тесте выскочила новая.
Если во время работы скрипта попадается окно в котором нет ни одной картинки, то весь процесс просто напросто зависает.
Полагаю что можно использовать условие else которое будет выполняться  именно в той случае когда нет картинок.
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   FOR($n=1,$n<4) // количество типов картинок, сейчас 3
      SCANPICTURE($ARR_SCAN, 700,90, 1270,1035, STRCONCAT("PICTURE_", $n, ".BMP"), 16777215, 100)
      FOR($im=0,$im<ARRSIZE($ARR_SCAN),2)
         LCLICK($ARR_SCAN[$im]+RND(0,5), $ARR_SCAN[$im+1]+RND(0,5)) // Клик
         WAITMS(100)
         $check = 1
      END_CYC
      UNDEFINE($ARR_SCAN)
   END_CYC
ELSE
   SCANPICTURE($ARR_SCAN, 700,90, 1270,1035, STRCONCAT("PICTURE_", $n, ".BMP"), 16777215, 100)
   FOR($im=0,$im<ARRSIZE($ARR_SCAN),2)
      LCLICK($ARR_SCAN[$im]+RND(0,5), $ARR_SCAN[$im+1]+RND(0,5)) // Клик
      WAITMS(100)
      $check = 0
   END_CYC
   UNDEFINE($ARR_SCAN)
END_CYC

KEYPRESS(#PAGEDOWN)
WAITMS(500)
HINTPOPUP("начинаю процесс", "Идем далее")
WAITMS(100)



Имхо?

10
Очевидно что после KEYPRESS(#PAGEDOWN) нужна задержка.

Да, но при таком раскладе получается, что он находит первую попавшеюся картинку и переходит далее. А другие картинки которые были в окне игнорирует.
Вот в этом и проблема что он должен найти все картинки из списка (либо только те которые есть в окне)и только потом перейти далее. Если нет картинок, то также переходим далее.

11
P.S. забыл добавить, а как правильно сделать нажатие на кнопку после выполнения всего цикла. Не важно нашел он картинки или нет... Ну и так по кругу.....

[spoiler]
$check = 0
WHILE($check = 0)
   GETSCREEN
   FOR($n=1,$n<4)
      IF_PICTURE_IN (700,90, 1270,1035, STRCONCAT("PICTURE_", $n, ".BMP"), 16777215, 100)
         LCLICK($_RETURN1+RND(5,5),$_RETURN2+RND(5,5)))
         WAITMS(100)
         $check = 1
         $n=9999
      END_IF
   END_CYC
END_CYC
KEYPRESS(#PAGEDOWN) // переход ниже, верно ли установлено?!?!!?!?!?!

[/spoiler]

А вот с этим пока не получается.....

12
Проблему с поиском 2-го типа картинки решил. При проверки более доскональна она оказалось отличается на 8 пикселей от другой, которая обычным глазом точно такая)))

13
Какой же это рандом если от 5 до 5? Кроме того в конце лишняя скобка.
LCLICK($_RETURN1+RND(5,5),$_RETURN2+RND(5,5)))

Для поиска всех картинок у нас есть функция SCANPICTURE
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   FOR($n=1,$n<4) // количество типов картинок, сейчас 3
      SCANPICTURE($ARR_SCAN, 700,90, 1270,1035, STRCONCAT("PICTURE_", $n, ".BMP"), 16777215, 100)
      FOR($im=0,$im<ARRSIZE($ARR_SCAN),2)
         LCLICK($ARR_SCAN[$im]+RND(0,5), $ARR_SCAN[$im+1]+RND(0,5)) // Клик
         WAITMS(100)
         $check = 1
         $n=9999
      END_CYC
      UNDEFINE($ARR_SCAN)
   END_CYC
END_CYC

Да, согласен. С рандомом я что то намудрил... Скобку убрал.
Запустил скрипт и вот что вышло.
PICTURE_1.BMP находит все что были
PICTURE_2.BMP нашел только 2, хотя в окне их было 4. Причем эти картинки находятся на одной линии по координате Х, но имеют разный Y. Те две что нашло имели одну координату  Y.

14
Добрый день товарищи!
У меня к вам вопрос с вытекающей просьбой)
Думаю по названию темы уже должно быть понятно о чем пойдет речь.
Имеется некое окно на рабочем столе, в этом окне нужно найти некоторые картинки по которым далее нужно совершить клик. Я написал скрипт и он находит все картинки, кроме тех которые повторяются. Т.е. если одинаковых картинок одного типа несколько, клик происходит только по одной картинке для каждого типа. А мне нужно чтобы клик происходил по всем картинкам всех типов независимо от их количества. Обычно на экране картинок каждого типа не более 5.
Прошу подсказать решение....

[spoiler]
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   FOR($n=1,$n<4) // количество типов картинок, сейчас 3
      IF_PICTURE_IN (700,90, 1270,1035, STRCONCAT("PICTURE_", $n, ".BMP"), 16777215, 100)
         LCLICK($_RETURN1+RND(5,5),$_RETURN2+RND(5,5))) // клик со смещением  по всем координатам
         WAITMS(100)
         $check = 1
         $n=9999
      END_IF
   END_CYC
END_CYC
[/spoiler]

P.S. забыл добавить, а как правильно сделать нажатие на кнопку после выполнения всего цикла. Не важно нашел он картинки или нет...

[spoiler]
$check = 0
WHILE($check = 0)
   GETSCREEN
   FOR($n=1,$n<4)
      IF_PICTURE_IN (700,90, 1270,1035, STRCONCAT("PICTURE_", $n, ".BMP"), 16777215, 100)
         LCLICK($_RETURN1+RND(5,5),$_RETURN2+RND(5,5)))
         WAITMS(100)
         $check = 1
         $n=9999
      END_IF
   END_CYC
END_CYC
KEYPRESS(#PAGEDOWN) // переход ниже, верно ли установлено?!?!!?!?!?!

[/spoiler]

15
Общие вопросы / Re: Окажите помощь
« on: April 25, 2015, 12:48:36 PM »
и теперь будет искать пока не найдет на всех экранах? или это просто было поправка синтаксиса?
после исправления скрипт стал работать по другому, теперь если он находит первую картинку он не ищет остальные, хотя на экране они есть. Весь смысл в том что он должен найти все и записать их координаты в ини файл

Pages: [1] 2