alt-andrew
Новичок
- Сообщения
- 19
- Репутация
- 2
Belfigor сказал(а):Я ищу как на рисунке два.
Второй вопрос не понял.
Добавлено:Сообщение автоматически объединено:
Если изображения одинаковые то и ищи одни и те же пиксели
Добавлено:Сообщение автоматически объединено:
А лучше скажи что сделать пытаешься.
$coord =PixelSearch( 650, 155, 715, 495,0xDCD7D3)
If NOT @error Then MouseClick("left", $coord[0], $coord[1],2,0)
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 147, 161, -1, -1)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 24, 16, 81, 25)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 24, 44, 81, 25)
$Button1 = GUICtrlCreateButton("Button1", 24, 88, 97, 33)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If GUICtrlRead($Checkbox1) = 1 Then
$iCheck1 = "0x3D1700"
Else
$iCheck1 = "0"
EndIf
If GUICtrlRead($Checkbox2) = 1 Then
$iCheck2 = "0xDCD7D3"
Else
$iCheck2 = "0"
EndIf
proverka()
EndSwitch
WEnd
Func proverka()
;тут активация нужного она для проверки...
Local $pixel[2] = [$iCheck1,$iCheck2]
For $i = 0 to 1
$coord =PixelSearch( 650, 155, 715, 495,$pixel[$i])
If NOT @error Then
MouseClick("left", $coord[0], $coord[1],2,0)
Else
MsgBox(0, "", "Цвет "&$pixel[$i]&" не найден.", 5)
EndIf
Next
EndFunc
GUICtrlRead($hCheckBox) = $GUI_CHECKED
GUICtrlRead($hCheckBox) = $GUI_UNCHECKED
не очень понятно, что конкретно ты делаешь и какие сложности у тебя возникаютДелаю вот так:
определяется (или вернее ограничевается) размером оперативной памяти.И еще вот такой вопрос:Какой может быть максимальная размерность массива?
If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
$iCheck1 = "0x3D1700"
ну дак, передавай в массив. зачем в переменную пихаешь?далее надо передать в значение в массив,который будет состоять из отмеченных чекбоксов
If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
$array[$i] = "0x3D1700"
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
Global $sColors = '0x3D1700|0x3D1701|0x3D1702|0x3D1703|0x3D1704'
Global Const $aColors = StringSplit($sColors, '|')
Global $anCheckBoxes[$aColors[0] + 1]
$Form1 = GUICreate("", 100, 150, -1, -1)
$iTop = 10
For $i = 1 To $aColors[0]
$anCheckBoxes[$i] = GUICtrlCreateCheckbox($aColors[$i], 10, $iTop, 100, 15)
$iTop += 20
Next
$Button1 = GUICtrlCreateButton("Button1", 10, 110, 80, 25)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Dim $aChecks[1]
For $i = 1 To $aColors[0]
If GUICtrlRead($anCheckBoxes[$i]) = 1 Then
_ArrayAdd($aChecks, $aColors[$i])
$aChecks[0] += 1
EndIf
Next
_ArrayDisplay($aChecks)
For $iI = 1 To $aChecks[0]
$coord = PixelSearch(0, 0, 20, 300, $aChecks[$iI])
If Not @error Then
MsgBox(0, $iI, "X: " & $coord[0] & ", Y: " & $coord[1])
Else
MsgBox(0, $iI, "No")
EndIf
Next
EndSwitch
WEnd