Author Topic: Цикл и анализ картинки  (Read 1541 times)

0 Members and 1 Guest are viewing this topic.

d2_bot

  • Освоившийся
  • **
  • Posts: 85
    • View Profile
Цикл и анализ картинки
« on: October 16, 2020, 01:37:14 AM »
Помогите пожалуйста, вопрос в коде

Code: [Select]
wait(2)
FOR($a=1=,$a<5000)
EXECUTE (STRCONCAT("C:\Users\File\",$a,"\file.exe"))


wait(6)
$hwnd = wndfind("file") 
wait(1)
WNDSTATE ($hwnd, 1)
WNDSETINFO($hwnd, 200, 200, 900, 600)
wait(1)

---

ВОТ ТУТ НУЖНО УСЛОВИЕ, ЕСЛИ НЕ НАХОДИТ КАРТИНКУ
ТО ВЫПОЛНЯЕТ КОД ДАЛЬШЕ, ЕСЛИ НАХОДИТ, ТО ПРОПУСКАЕТ
ТЕКУЩИЙ ЦИКЛ И ПЕРЕХОДИТ К СЛЕДУЮЩЕМУ ЦИКЛУ

IF_PICTURE_IN (509,619, 539,647, "pic2.bmp")  - а дальше как сделать не могу понять
---

move(226,243)
waitms(200)
LCLICK(226,243)
waitms(200)

GETSCREEN

IF_PICTURE_IN (509,619, 539,647, "pic1.bmp")
MOVE($_return1+10, $_return2)
waitms(100)
LCLICK($_return1+10,$_return2)
waitms(200)

end_if


IF(TFCOUNT("text.txt") > $count)
INC($count,1)
ELSE
$count = 1
END_IF
$str = TFREAD ("text.txt", $count)
UNDEFINE($arr)
STRSEPARATE($str, ":", $arr)

waitms(100)


move(679,479)
waitms(200)
LCLICK(679,479)
waitms(10)
DBLCLICK(679,479)

waitms(50)
TOCLIP($arr[0]) // copy
   WAITMS (50)
   KEYDOWN (#CTRL) // paste
   WAITMS (50)
   KEYPRESS(#V)
   WAITMS (50)
   KEYUP (#CTRL)

EXECUTE("TASKKILL","/F /IM file.exe")
wait(3)

end_cyc
halt



Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Цикл и анализ картинки
« Reply #1 on: October 16, 2020, 10:40:06 AM »
Code: (clickermann) [Select]
WAIT(2)
FOR($a=0, $a<5000)
    EXECUTE(STRCONCAT("C:\Users\File\",$a,"\file.exe"))
       
    WAIT(6)
    $hwnd = wndfind("file")
    WAIT(1)
    WNDSTATE ($hwnd, 1)
    WNDSETINFO($hwnd, 200, 200, 900, 600)
    WAIT(1)
   
    GETSCREEN
    IF_PICTURE_IN(509,619, 539,647, "pic2.bmp")
    ELSE
        MOVE(226,243)
        WAITMS(200)
        LCLICK(226,243)
        WAITMS(200)
       
        GETSCREEN       
        IF_PICTURE_IN(509,619, 539,647, "pic1.bmp")
            MOVE($_return1+10, $_return2)
            WAITMS(100)
            LCLICK($_return1+10,$_return2)
            WAITMS(200)
        END_IF
               
        IF(TFCOUNT("text.txt") > $count)
            INC($count,1)
        ELSE
            $count = 1
        END_IF
        $str = TFREAD ("text.txt", $count)
        UNDEFINE($arr)
        STRSEPARATE($str, ":", $arr)
       
        WAITMS(100)
               
        MOVE(679,479)
        WAITMS(200)
        LCLICK(679,479)
        WAITMS(10)
        DBLCLICK(679,479)
       
        WAITMS(50)
        TOCLIP($arr[0]) // copy
        WAITMS(50)
        KEYDOWN(#CTRL) // paste
        WAITMS(50)
        KEYPRESS(#V)
        WAITMS(50)
        KEYUP(#CTRL)
       
        EXECUTE("TASKKILL","/F /IM file.exe")
        WAIT(3)
    END_IF
END_CYC
HALT


d2_bot

  • Освоившийся
  • **
  • Posts: 85
    • View Profile
Re: Цикл и анализ картинки
« Reply #2 on: October 16, 2020, 11:22:06 AM »
Ооо спасибо большое! Гениальное просто, аха у меня кликер не запускался я все команды не туда ставил, ну оно и понятно весь скрипт собран при помощи форума, в том числе и при твоем участии ;)

Появился вопрос дополнительный по коду)

Code: [Select]

GETSCREEN
    IF_PICTURE_IN(509,619, 539,647, "pic2.bmp")

Если тут хочу добавить действие, в случае нахождения картинки, забыл что прогу надо закрыть)
        EXECUTE("TASKKILL","/F /IM file.exe")
END_IF   - так? :-[
    ELSE


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Цикл и анализ картинки
« Reply #3 on: October 16, 2020, 12:24:35 PM »
Просто добавляй между IF_PICTURE_IN и ELSE. END_IF не надо