Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

GUICtrlReader z Image Search.


Rekomendowane odpowiedzi

Opublikowano

Witam.


 


Mam duży problem, nie jestem na zaawansowanym poziomie autoita, może to głupie pytanie, nie wiem..


 


Przejdźmy do sedna:


 


Zastosowanie:



If GUICtrlRead($Checkbox1) == $GUI_CHECKED Then

Z:



Global $x, $y ;A
$result = _ImageSearch("GFX\<img src='http://www.mpcforum.pl/public/style_emoticons/<#EMO_DIR#>/laugh.gif' class='bbc_emoticon' alt='xD' />.bmp", 1, $x, $y, 20) ;B
If $result = 1 Then ;<=========================Tutaj mamy If.
MsgBox(0, "Found!", "Znalazlem obrazek jego pozycja to x: "&$x&"y: "&$y) ;D
endif ;E

Z tego co wiem, IF w IFie, nie może być wsadzony. Co więcej, chciałbym GuiCtrlReader zastosować z Else, więc może tutaj być większy problem, Uporządkuje mi ktoś tak ten kod, żeby to działało, bo męczyłem się do 5 nad ranem uparcie..


 


Z góry dziękuje pozdrawiam. :)


579571423327107377857.png


Opublikowano

If może być zagnieżdżony(czyt. można wsadzić If w Ifie, np. tak:

if 1 Then
	if 1 Then
		MsgBox(0, "ha", "da sie")
	EndIf
EndIf
Opublikowano

To dlaczego nie działa mi taki zapis?:

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Tabbed Notebook Dialog", 388, 277, 302, 218)
GUISetIcon("D:\005.ico")
$PageControl1 = GUICtrlCreateTab(8, 8, 396, 256)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
$TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 72, 80, 97, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Checkbox3 = GUICtrlCreateCheckbox("Checkbox3", 72, 128, 97, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 72, 104, 97, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Button4 = GUICtrlCreateButton("Button4", 72, 168, 75, 25, $WS_GROUP)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
$TabSheet3 = GUICtrlCreateTabItem("TabSheet3")
GUICtrlCreateTabItem("")
$Button1 = GUICtrlCreateButton("&OK", 166, 272, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("&Cancel", 246, 272, 75, 25, $WS_GROUP)
$Button3 = GUICtrlCreateButton("&Help", 328, 272, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $Button4
Global $x, $y ;
if GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
	if _ImageSearch("wioska.bmp' class='bbc_emoticon' alt='xD' />.bmp", 1, $x, $y, 20) = 1 Then
		MsgBox(0, "Found!", "Znalazlem obrazek!)
	 else
		Msgbox(0, "Not Found!", "Nie znalazłem obrazka!")
	 EndIf
Else
   MsgBox(0, "Else" , "Else z GUICTRL Działa!")
EndIf
   Exit
	EndSwitch
 WEnd

579571423327107377857.png


Opublikowano

  • Zapomniałeś dać cudzysłowia po Znalazłem obrazek!

W _ImageSearch przekazuje się ścieżke pliku znajdującego się na dysku

Opublikowano

Dobra nie bd owijał w bawełne, dam wam orginalny kod:

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <ScreenCapture.au3>
#include <ImageSearch.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Tabbed Notebook Dialog", 388, 277, 302, 218)
GUISetIcon("D:\005.ico")
$PageControl1 = GUICtrlCreateTab(8, 8, 396, 256)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
$TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 72, 80, 97, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Checkbox3 = GUICtrlCreateCheckbox("Checkbox3", 72, 128, 97, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Email = GUICtrlCreateInput("Email", 72, 104, 97, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Button4 = GUICtrlCreateButton("Button4", 72, 168, 75, 25, $WS_GROUP)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
$TabSheet3 = GUICtrlCreateTabItem("TabSheet3")
GUICtrlCreateTabItem("")
$Button1 = GUICtrlCreateButton("&OK", 166, 272, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("&Cancel", 246, 272, 75, 25, $WS_GROUP)
$Button3 = GUICtrlCreateButton("&Help", 328, 272, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
	Case $Button4
If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
MouseMove (875, 34 , 1)
MouseClick("left")
sleep(2500)
Global $x, $y ;A
$results = _ImageSearch("C:\SH Kingdoms Helper\Database\Poczta\nowy.bmp' class='bbc_emoticon' alt='xD' />.bmp", 1, $x, $y, 20)
   If $results = 1 Then ;C
	  MouseMove (1025, 452 , 1)
	  MouseClick("left")
	  sleep(2000)
	  MouseMove (1025, 452 , 1)
	  MouseClick("left")
	  sleep(2000)
	  MouseMove (359, 697 , 1)
	  MouseClick("left")
	  sleep(2000)
	  MouseMove (88, 940 , 1)
	  MouseClick("left")
	  sleep(3000)
	  MouseMove (87, 216 , 1)
	  MouseClick("left")
	  sleep(1500)
	  MouseMove (698, 376 , 1)
	  MouseClick("left")
	  sleep(800)
	  Send("$Email")
	  sleep(1000)
	  MouseMove (708, 417 , 1)
	  MouseClick("left")
	  sleep(800)
	  Send("SHK Helper - Masz nową wiadomosć w skrzynce!")
	  sleep(800)
	  MouseMove (708, 491 , 1)
	  MouseClick("left")
	  sleep(800)
	  send("^v")
	  sleep(1000)
	  MouseMove (699, 856 , 1)
	  MouseClick("left")
   EndIf
EndIf
   Exit
	EndSwitch
 WEnd 

Używając tego kodu wyskakuje mi błąd:

Line 44: File ...Include/ImageSearch.au3

if $result[0] = "0" them return 0
if $result^ ERROR

Error: Subscript used on non-accessible variable.

I co mogę na to poradzić ?

579571423327107377857.png


Opublikowano

Przeciez pan ' Firego' napisal ci co masz zmienic.

To jest jednak dzial do pomocy, a nie do odwalania calej roboty.

 

 

  • Zapomniałeś dać cudzysłowia po Znalazłem obrazek!
  • W _ImageSearch przekazuje się ścieżke pliku znajdującego się na dysku

 

Sciezka wyglada tak - C:\katalog1\katalog2\plik.bmp.

Nie wiem skad masz to ; ' class='bbc_emoticon' alt='xD' />.bmp

Opublikowano

Ok, a mam jeszcze problem:

$Input12 = GUICtrlCreateInput("1088, 192", 384, 56, 121, 21)

MouseMove(GUICtrlRead($Input12), 1)

Wytłumaczy mi ktos, dlaczego mimi poprawnego wpisania kordynatów, myszka wariuje mi za pulpitem ?

 

Co tutaj jest źle, bo ja już nie mam pomysłu.

579571423327107377857.png


Opublikowano

Bo to nie jest liczba, tylko tekst z kilkoma cyframi, spacją i przecinkiem. Ten tekst to pewna wartość, ale nie jest ona wstawiana bezpośrednio do kodu. Trzeba więc rozdzielić to pole na 2 części lub podzielić tekst według przecinków(StringSplit) i zamienić na liczby(Int).

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...