Пользователь
Сообщения: 53
Благодарности: 0
|
Профиль
|
Отправить PM
| Цитировать
Всем доброго времени суток!
Прошу помочь мне написать следующий простенький код...
В общем есть у меня некое изображение на экране. Мне необходимо отследить, меняется ли цвет определенного пиксела... В общем смотрите:
Func GetBuf()
$time = 0
$err = 0
While $time <= 5000
$p = PixelGetColor (1162,434)
If $p = 0xEBEC76
$time= $time+500
Sleep (500)
Else
$err = $err + 1
$time= $time+300
Sleep (300)
EndIf
WEnd
EndFunc
Суть следующая: сначала задаю значение переменных $time и $err равными нулю. Затем вхожу в цикл, в начале которого проверяю значение $time, чтобы цикл не уходил в бесконечность. Затем определяю цвет пикселя в определенном месте окна (PixelGetColor). Если цвет меня устраивает (If $p = 0xEBEC76) - увеличиваю значение переменной $time, делаю паузу на полсекунды (Sleep (500)) и опять вхожу в цикл. Если цвет меня НЕ устраивает - увеличиваю значение переменной $err, делаю паузу (Sleep (300)) и снова вхожу в цикл, пока буду удовлетворять условиям $time <= 5000.
После выполнения функции меня интересует значение параметра $err. В случае, если оно >0, то все в порядке, и процедуру нужно повторить, скажем, через 5 минут. Но если это значение равно 0, то необходимо вывести какое-нибудь диалоговое окно, пикнуть встроенным динамиком компа и завершить процедуру.
Помогите, плиз, написать единый код, так как у меня проблемы с передачей параметров(
|
Отправлено: 14:10, 08-10-2008
| #972
|