Что нового

Как привязать скрин к функции?

deny

Новичок
Сообщения
50
Репутация
2
Код:
#include <ImageSearch.au3>

#include <Array.au3>

Dim $aImgs[3][2] = [["skrin1.bmp", 0], ["skrin2.bmp", 0], ["skrin3.bmp", 0]]


While 1

For $i = 0 To UBound($aImgs) -1

    Local $x, $y

    $aImgs[$i][1] = _ImageSearch($aImgs[$i][0], 1, $x, $y,0)
    If $aImgs[$i][1] Then ;Выполнение функции 
Else
	return



    EndIf
Next
WEnd


Func skrin1()

endfunc

Func skrin2()

endfunc

Func skrin3()

endfunc

Написал пример


как привязать к каждому скрину функцию,чтоб если скрин нашёлся ,то выполнял нужную функцию и повторял цикл
 
Автор
deny

deny

Новичок
Сообщения
50
Репутация
2
не кто не подскажет? :-\
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
может так
Код:
#include <ImageSearch.au3>

#include <Array.au3>

Dim $aImgs[3][2] = [["skrin1.bmp", 0], ["skrin2.bmp", 0], ["skrin3.bmp", 0]]


While 1

For $i = 0 To UBound($aImgs) -1

    Local $x, $y

    $aImgs[$i][1] = _ImageSearch($aImgs[$i][0], 1, $x, $y,0)
    If $aImgs[$i][1] Then skrin[i]()
Else
    return



    EndIf
Next
WEnd


Func skrin1()

endfunc

Func skrin2()

endfunc

Func skrin3()

endfunc
 
Автор
deny

deny

Новичок
Сообщения
50
Репутация
2
а вы вообще проверяли на работоспособность?)
у меня сразу ошибку выдаёт ,к чему относится
Код:
skrin[i]()
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Код:
If $aImgs[$i][1] Then Call('skrin' & $i)
 
Автор
deny

deny

Новичок
Сообщения
50
Репутация
2
E:\Autoit\riot\riot.au3(30,5) : ERROR: missing Next.
Else
~~~~^
E:\Autoit\riot\riot.au3(22,12) : REF: missing Next.
For $i = 0 To
~~~~~~~~~~~^
E:\Autoit\riot\riot.au3(30,5) : ERROR: missing Wend.
Else
~~~~^
E:\Autoit\riot\riot.au3(20,1) : REF: missing Wend.
While
^
E:\Autoit\riot\riot.au3(30,5) : ERROR: syntax error
Else
~~~~^
E:\Autoit\riot\riot.au3 - 3 error(s), 0 warning(s)



Не хочет,ошибку выдаёт(
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Код:
If $aImgs[$i][1] Then 
    Call('skrin' & $i + 1)
EndIf


Могу ошибиться но по моему $x, $y нужно вынести из цикла.


Добавлено:
Сообщение автоматически объединено:

Что - то ImageSearch вообще не работает, даже если я ей явно указываю где лежат картинки, только процессор на 50% грузит.

Код:
#include <ImageSearch.au3>
#include <Array.au3>

Dim $aImgs[3][2] = [["skrin1.bmp", 0], ["skrin2.bmp", 0], ["skrin3.bmp", 0]]
Global $x, $y

While 1
   For $i = 0 To UBound($aImgs) -1
      $aImgs[$i][1] = _ImageSearch(@ScriptDir & '\' & $aImgs[$i][0], 1, $x, $y, 0)
      If $aImgs[$i][1] Then 
		 Call('skrin' & $i + 1)
	  EndIf	 
   Next
   Sleep(100)
WEnd

Func skrin1()
   MsgBox(0, 0, 1)
endfunc

Func skrin2()
   MsgBox(0, 0, 2)
endfunc

Func skrin3()
   MsgBox(0, 0, 3)
endfunc
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
deny [?]
Не хочет,ошибку выдаёт(
потому что ты в своем первом сообщении вставил неполный и нерабочий кусок кода, который потом просто копипастился и исправлялся. а ты теперь по всей видимости запускаешь этот же код. почти всегда текст ошибки, как ни странно, указывает где и что надо исправить
 
Верх