Что нового

[Автоматизация] Функция проверки цвета

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
edward_freedom
Я немного поменял код.
 
Автор
E

edward_freedom

Осваивающий
Сообщения
200
Репутация
44
madmasles
Шас буду сидуть думать,как в функцию засунуть :ok:
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
edward_freedom [?]
как в функцию засунуть
Попробуйте так:
Код:
$sTest = '50, 490, 0xC2B9BC'
_CLICK($sTest)

Func _CLICK($sCOOR)
	Local $aSPLIT = StringSplit(StringStripWS($sCOOR, 8), ',', 2)
	;Local $aSPLIT = StringRegExp($sCOOR, '(\d+),\s?(\d+),\s?(\d+.*)\z', 3)
	If UBound($aSPLIT) <> 3 Then Return
	If Hex(PixelGetColor($aSPLIT[0], $aSPLIT[1]), 6) == Hex($aSPLIT[2], 6) Then
		MouseClick('left', $aSPLIT[0], $aSPLIT[1])
	EndIf
EndFunc   ;==>_CLICK
 
Автор
E

edward_freedom

Осваивающий
Сообщения
200
Репутация
44
Код:
Func _CLICK($sCOOR)
   ; Local $aSPLIT = StringSplit(StringStripWS($sCOOR, 8), ',', 2)
    Local $aSPLIT = StringRegExp($sCOOR, '(\d+),\s?(\d+),\s?(\d+.*)\z', 3)
    If UBound($aSPLIT) <> 3 Then Return
    If PixelGetColor($aSPLIT[0], $aSPLIT[1]) == $aSPLIT[2] Then
        MouseClick("left", $aSPLIT[0], $aSPLIT[1])
    EndIf
EndFunc   ;==>_CLICK

madmasles :smile:
Работает отлично!Спасибо большое!!
 
Автор
E

edward_freedom

Осваивающий
Сообщения
200
Репутация
44

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
edward_freedom
Я понял, почему у меня не работало. При использовании "==", оба значения конвертируются в строку, поменял на "=" и все заработало. ;)
 

NoMad73rus

Продвинутый
Сообщения
124
Репутация
80
Регулярные выражения нужно использовать там где нужно, а тут отлично справится StringSplit
 
Верх