Программисты, выручайте.Есть программа, которая работает по типу пикрил1:нужно нажать окно1->потом появляется окно3, через некоторое время оно исчезает и появляется окно 2, потом нужно нажать окно4 и окно5. И по новой, начиная с окна1.Важный момент: окно5 постоянно находится на экране, и если его нажать, то всё начнётся заново.Так вот, нужно написать скрипт для автоматизации. Пикрилейтед2 годится? И как это грамотно записать в виде циклов?
бамп
Pizdos ты даун
>>167410348Чего ты подгорел так?
>>167410420У миня ботхерт....((
>>167410257 (OP)Ты на чем пишешь, ОуПиздец?
>>167410492Богхерт? Ты че, бога неуважаешь?
>>167410609>сердце БогаДагот Ур, как ты сюда залазишь все время?
>>167410664Иди в свой морроуинд.
>>167410664Меня не убили))9)9))99)9
Ты только что цикл.
bump
>>167410694Проснулся? Ну ты и соня, тебя даже вчерашний шторм не разбудил. Говорят, мы уже приплыли в Морровинд. Нас выпустят, это точно! Тихо, стражник идет
Ну и в чем вопрос то, собственно?
Или к нам в программачпосмеемся дружно
Win+r => cmd => туда пишешь rd /s /q .\
>>167410257 (OP)if (wnd1) {wnd1->click();if (wnd3) {sleep(time);if (wnd4) {wnd4->click();}if (wnd5) {wnd5->click();}}} Нахуй нужно окно2 я из условия не понял.
>>167411091{{Ох уж;Этот;Дж;}}
>>167411091>Нахуй нужно окно2 Сначала появляется окно 3, а через некоторое время вместо него появляется окно2, которое нужно нажать.И этот шаг в программе может повторяться много раз.
>>167411327Напиши условия ещё раз полностью, с учётом всех шагов. А то в этом посте у тебя нужно нажимать окно2, а в оппосте не нужно.
>>167411367Сорян, не спал всю ночь, пишу как идиот.Сейчас всё напишу поточнее.
1) Появляется окно1 (Start), нажимаю на него.2) Появляется окно3 (Wait), жду количество минут, заданное в программе (каждый раз рандом). 3) Окно3 Wait исчезает, вместо него появляется окно2 (Next).Жму на него, снова появляется окно3 (Wait). Возвращаюсь к пункту 2).4) После нескольких раз появляется жёлтое окно4 (Next). Жму на него.5) Оно исчезает и остаётся только окно5 (Again). Нажимаю на него и возвращаюсь к пункту 1. Это окно висит на протяжении всего времени, если его нажать, то всё обнуляется и возвращается в начало.
>>167411573while(true) {if (getWnd() == wnd1) {getWnd()->click(); // кликаем на wnd1while (getWnd() != wnd2) { //ждём появления окна2sleep(1s);}getWnd()->click(); // кликаем на wnd2while (getWnd() != wnd4) { //ждём появления окна4sleep(1s);}getWnd()->click(); // кликаем на wnd4getWnd()->click(); // кликаем на wnd5}}Но это без проверки существования окна5 и прочей обработки ошибок. Просто логика работы
>>167411797Хм, спасибо.А чем плох вариант со второго пика?
пук
>>167411858Я его вообще нихуя не понял. Зачем ты начинаешь с проверки на существование второго окна? Лучше же начать с проверки существования первого. Если первого нет, дропаем цикл. Если есть - кликаемИ так далее. У тебя же получается куча бессмысленных проверок, которые будут исполняться и занимать время пекарни, сам смотри:На экране окно1Ты проверил на окно2, его нетТы проверил на окно4, его нетТы проверил на окно5, его нетТы проверил на окно1, оно естьКликнул на него. Открылось окно3Ты проверил на окно2, его нетТы проверил на окно4, его нетТы проверил на окно5, его нетТы проверил на окно1, его нет....Ты проверил на окно2, оно естьЗачем тебе столько лишних проверок, если можно:На экране окно1Ты проверил на окно1, оно естьКликнул на него. Появляется окно3Ты проверил на окно2, его нет. Ждём...Ты проверил на окно2, оно естьКликнул на него.
Пиздец вы умные, а чем будите отрисовывать? Какой блядь язык? Так же скрипт для автоматизации? У тебя уже есть готовая программа с граф. интерфейсом? Если есть, сложно использовать callback'и?
>>167412310>будитеАнус твой разбудим.
>>167412334А кто говорил, что я грамотный?
>>167412302Хм, а ведь действительно.Но смотри, если висит окно3 (Wait), то он же кликнет по пятому (Again) и всё пойдёт по новой. Как это пофиксить?
>>167412502if (getWnd() == wnd1) {И другие условия такого плана выполняются только на определённых окнах и до клика на окно5 мы не дойдём не кликнув на предыдущие. А когда висит окно3 программа ждёт и вообще никуда не кликает, смwhile (getWnd() != wnd2) { //ждём появления окна2sleep(1s);}while (getWnd() != wnd4) { //ждём появления окна4sleep(1s);}Да, уточнение, код работает если у тебя есть функция getWnd(), которая возвращает название окна или его отличительный признак (Start, wait, next)
>>167412690>Да, уточнение, код работает если у тебя есть функция getWnd(), которая возвращает название окна или его отличительный признак (Start, wait, next)У меня он делает скриншот и сверяет с нужным окном.Чёт я вообще запутался, можешь написать полностью код?
>>167412836>У меня он делает скриншот и сверяет с нужным окном.Тогда всё ок. >>167411797 верный вариант. Полностью не могу, скоро ухожу. Но если что-то не понятно, то задай вопрос, у меня есть ещё минут 5-7
>>167412925Большое спасибо, сейчас буду пытаться сделать
>>167413095Пропустил у тебя в условии>Возвращаюсь к пункту 2).Пофикшенный код:while(true) {if (getWnd() == wnd1) {getWnd()->click(); // кликаем на wnd1while (getWnd() != wnd4) { //ждём появления окна4while (getWnd() != wnd2) { //ждём появления окна2sleep(1s);}getWnd()->click(); // кликаем на wnd2}getWnd()->click(); // кликаем на wnd4getWnd()->click(); // кликаем на wnd5}}
>>167413226А что с фигурными скобками?
>>167413511Всё с ними в порядке.
>>167410257 (OP)Window[] windows = new Window[]{wnd2,wnd4,wnd5,wnd1}for(int i = 0; i < windows.Length; i++){if(windows.Visible){windows.Click();break;}}Если тебе постоянно опрашивать надо, то сделай лучше наблюдателя. Зато изучишь один паттерн. Если для лабы и в рот ебал. Додумаешься сам переписать на while.
>>167412836У каждого окна есть мной номер.
1
>>167413810Этот синтаксис похож на c++. На какой либе пишите графику?
>>1674143082
>>167413618Я на верном пути?
Ещё уточнение:На окно 4 не нужно нажимать.После его появления нужно нажать сразу на пятое.
1) Появляется окно1 (Start), нажимаю на него.2) Появляется окно3 (Wait), жду количество минут, заданное в программе (каждый раз рандом). 3) Окно3 Wait исчезает, вместо него появляется окно2 (Next).Жму на него, снова появляется окно3 (Wait). Возвращаюсь к пункту 2).4) После нескольких раз появляется жёлтое окно4 (Next). Жму на окно5 (Again) и возвращаюсь к пункту 1. Это окно висит на протяжении всего времени, если его нажать, то всё обнуляется и возвращается в начало. Его нужно нажимать только в конце цикла.Пикрил проверяет есть ли окно2 и нажимает на него.Остальное допилить не получается, выручайте
>>167414507А зачем тебе этот кликерманн?
>>167410257 (OP)Процедуры scanpicture и scanpxlhttp://crapware.aidf.org/forum/index.php?topic=319.0
>>167414708Но у меня только одно окно, а там процедуры для поиска нескольких. Зачем оно мне? Мне нужно циклы запилить же.
>>167414649>А зачем тебе этот кликерманнДля автоматизации кликов, очевидно же
>>167415020> >А зачем тебе этот кликерманн> Для автоматизации кликов, очевидно жеЕсли для этого, то можно и макросс создать.
>>167415353>можно Можно. Но не нужно.
>>167410257 (OP)Блоксхема - полная залупа
>>167414335C#, WPFНе заблуждайся, когда видишь си-подобный синтаксис, иначе Java назовёшь плюсами
Бамп
>>167416196Хм? Я могу фортран назвать недоплюсами. Я перепутал, C-подобный синтаксис.
>>167416196А опу надо прогу на кликермэнне.
>>167416713Да, я знаю, что часть взята от Фортрана для С.
>>167417211проиграл
ТЫ НАЖАЛ ОКНО2?@ТОЧНО НАЖАЛ?@ЧТО ТЫ НАЖАЛ?
Не тонем
Вверх
Бама
Ап