Skocz do zawartości

[Pytanie]Warunek w Autoit, ImageSearch


Rekomendowane odpowiedzi

Witam,

robie skrypt ktory odnajduje obrazek i przeciaga go w odpowiednie pole, nastepnie szuka drugiego obrazka i takze go przeciaga w odpowiednie pole. Udało mi się już to napisać za pomocą ImageSearch kod poniżej, ale chce jeszcze dodac do tego taki warunek, że jak nie znajdzie pierwszego obrazka to nie przesunie tego drugiego i przejdzie do ostatniego wiersza czyli do MouseClick("left" 600, 460). Z tego co wyczytałem to warunek "If" tylko jak to dokladnie zrobić?

 

Sleep(4000)
MouseClick("left", 700,576)
sleep(3000)
#include <ImageSearch.au3>
Global $x, $y
$result = _ImageSearch("ak.bmp", 1, $x, $y, 10)
If $result = 1 Then
MouseClickDrag("left", $x, $y, 600, 250)
EndIf
sleep(500)
#include <ImageSearch.au3>
Global $x, $y
$result = _ImageSearch("huk.bmp", 1, $x, $y, 10)
If $result = 1 Then
MouseClickDrag("left", $x, $y, 600, 250)
EndIf

MouseClick("left" 600, 460)

Odnośnik do komentarza
Udostępnij na innych stronach

Sleep(4000)

MouseClick("left", 700,576)

sleep(3000)

#include

Global $x, $y

$result = _ImageSearch("ak.bmp", 1, $x, $y, 10)

If $result = 1 Then

MouseClickDrag("left", $x, $y, 600, 250)

EndIf

sleep(500)

#include

Global $x, $y

$result2 = _ImageSearch("huk.bmp", 1, $x, $y, 10)

If $result2 = 1 And $result 1 = 1 Then

MouseClickDrag("left", $x, $y, 600, 250)

EndIf

 

;Wie ktoś dlaczego mi się nie wyświetla "ten edytor" typu czcionki itp?

1387536187-U112334.png

Jeśli Ci pomogłem mógłbyś wynagrodzić lajkiem :)

Odnośnik do komentarza
Udostępnij na innych stronach

1. Include zwykło się dawać na sam początek.

2. Niepotrzebnie podajesz dwa razy #include <...>, raz wystarczy. Tak samo deklaracja zmiennych Global $x, $y.

3. Po prostu skopiowałeś skądś ten sam kawałek kodu i go zmieniłeś. Teraz postaraj się go zrozumieć

4. Skoro użyłeś już instrukcji warunkowych to nie rozumiesz jak to zrobić znów? j.w.

#include <ImageSearch.au3>

Global $x, $y

Sleep(4000)
MouseClick("left", 700,576)
Sleep(3000)


$result = _ImageSearch("ak.bmp", 1, $x, $y, 10)
If $result = 1 Then
	MouseClickDrag("left", $x, $y, 600, 250)
	Sleep(500)
	$result = _ImageSearch("huk.bmp", 1, $x, $y, 10)
	If $result = 1 Then
		MouseClickDrag("left", $x, $y, 600, 250)
	EndIf
EndIf

MouseClick("left" 600, 460)

To powinno być mniej-więcej tak.

Include jest na początku, dla porządku zdefiniowane zmienne są też na początku. I nie definiujesz ich później drugi raz.

Tabulacja dla przejrzystości.

 

Jak to działa - Jest jedna instrukcja IF. Wykona się tylko wtedy, gdy $result=1, czyli znaleziony jest pierwszy obrazek. Jeśli nie jest znaleziony to IF się nie wykona, a co w nim jest widzisz. Tym samym wykona się pierwsze co jest za IFem, czyli MouseClick(...).

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający forum [Pytanie]Warunek w Autoit, ImageSearch   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...