Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Как правильно зациклить проверку

Ответить
Настройки темы
Как правильно зациклить проверку

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: EnigmaNN
Дата: 06-07-2019
Описание: дополнение
Приветствую.
Необходимо создать цикл проверки следующего характера:

1. Встаём на тестируемый пиксель
2. Если цвет пикселя соответствует значению, то действие тогда
3. Щелчок мышью по области экрана
4. Проверяем пиксель снова , начиная с п. 1.
5. Конец проверки


Но удалось написать только так

Код: Выделить весь код
   Mousemove(-143, 192, 0)
   Sleep(2000)
   if PixelGetColor(-143, 192) = 6698522  Then
	  Sleep(2000)
	  Mousemove(-196, 390, 0)
	  Sleep(5000)
	  MouseClick("left", -196, 390, 1, 10)
   Else
	  MouseClick("left", 70, 688, 1, 10)
	  Sleep(5000)
   EndIf
Скрипт работает, но не повторяет проверку
Не хватает знаний, чтобы достичь нужного. Буду благодарна за помощь

Отправлено: 18:41, 06-07-2019

 

Ветеран


Contributor


Сообщения: 24486
Благодарности: 7117

Профиль | Отправить PM | Цитировать


EnigmaNN, циклическая проверка нуждается в наличии цикла: Language Reference - Loops Statements. В Вашем случае подойдёт как Keyword While...WEnd, так и Keyword Do...Until.

Отправлено: 21:33, 06-07-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо за ответ
решение было найдено таким способом

Код: Выделить весь код
for $i=1 to 200
   Mousemove(-145, 198, 0)
   Sleep(2000)
   if PixelGetColor(-145, 198) = 14332707  Then
	  ExitLoop
   Else
	  Mousemove(-196, 390, 0)
	  Sleep(5000)
	  MouseClick("left", -196, 390, 1, 10);
   EndIf
Next

все ли верно в отношении синтаксиса?

Отправлено: 13:49, 07-07-2019 | #3


Ветеран


Contributor


Сообщения: 24486
Благодарности: 7117

Профиль | Отправить PM | Цитировать


EnigmaNN, если Вам надо проверить ровно 200 раз, то да. Если надо Вам проверять до наступления какого-либо условия (или бесконечно), то нет, пользуйте:
Цитата Iska:
В Вашем случае подойдёт как Keyword While...WEnd, так и Keyword Do...Until. »
Проблема в другом. Описанная Вами постановка задачи не соответствует ни первому, ни второму приведённым кодам. В первом коде откуда-то взялась ветвь Else, отсутствующая в постановке задачи, во втором — выход из цикла.

Отправлено: 16:54, 07-07-2019 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Как правильно зациклить проверку

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Можно зациклить увеличение переменной на 1? Masutin Скриптовые языки администрирования Windows 5 30-10-2017 01:57
Интернет - Как убрать проверку сертификатов в броузерах? Work700 Программное обеспечение Windows 5 22-02-2015 20:47
Разное - Как обойти проверку версии Windows id_romeo Microsoft Windows 2000/XP 4 29-09-2013 20:50
[решено] Помогите зациклить WARsacred AutoIt 2 19-07-2013 19:15
[решено] Как убрать проверку диска? fiesta Microsoft Windows 2000/XP 1 04-09-2006 23:46




 
Переход