Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (25): « 1 2 [3] 4 5 6 7 8 9 » В конец    

> Описание: Поиск и замена текста по шаблонам регулярных выражений
007wan
Отправлено: 04 Мая, 2019 - 12:52:04
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




Как найти текст такого плана:
"ННННННН..."
Количество этих символов может быть неограниченно или 255
 
 Top
Zireael
Отправлено: 04 Мая, 2019 - 13:14:02
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4461
Дата рег-ции: Нояб. 2017  
Репутация: 585




Зачем? Если в массив ничего не записывалось, то и так понятно что в нём ничего нет.
 Цитата:
Как найти текст такого плана:
"ННННННН..."

CODE:
char c[10];
string s="";
if(regexsearch(1, #s, format(#c[0]), "^Н+$"))messagebox("Нашли");
 
 Top
007wan
Отправлено: 04 Мая, 2019 - 13:18:49
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




Zireael ,
 Zireael пишет:
Зачем? Если в массив ничего не записывалось, то и так понятно что в нём ничего нет.

Да как нету? Я же вижу, что текст присутствует.
 
 Top
007wan
Отправлено: 04 Мая, 2019 - 18:03:49
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




Zireael , Как это условие выполнить со временем?
CODE:
getlocaltime(Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds);
Strftime(address(#Time[0]), sizearray(Time), "[%X] - ", Hour, Minute, Second, Day, Month, Year);
И через for сделать, что бы проверял. Если время равно "ННННН...", то прокрутить цикл for так, что бы время получить снова и уже оно не будет равно "НННННН"
(Добавление)
Просто видимо не успевает получить данные и функия просто бысто проходит.
(Добавление)
function Log (Отобразить)

(Добавление)
CODE:
char Time[100];
char Date[100];
int Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds;
 
 Top
Zireael
Отправлено: 04 Мая, 2019 - 18:40:59
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4461
Дата рег-ции: Нояб. 2017  
Репутация: 585




Данный вопрос к регуляркам не имеет отношения.
 Цитата:
Просто видимо не успевает получить данные и функия просто бысто проходит.

Такого не бывает. Ищите ошибку в коде.
 
 Top
konctantin777
Отправлено: 12 Мая, 2019 - 14:14:56
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




День добрый. Надо в области найти слово и щёлкнуть по нему- подскажите ?

regexreplace(-1, #text_KIB, text_KIB, "[^а-я]", ""); // удалить из строки всё кроме букв от 'a' до 'я'

if (regexsearch(-1, # text_KIB, text_KIB, "обнов")!=0)
{
pause(200);
mouse (LEFT, symbolxpos(0)+311+500, symbolypos(0)+580-400);
pause(500); goto global nach;
}

//////////////////
if (regexsearch(-1, # text_KIB, text_KIB, "прод")!=0)
{
sleep(150);
mouse (LEFT, symbolxpos(0)+311, symbolypos(0)+580);
pause(1000); goto global nach;
}
//////////////
if (regexsearch(-1, # text_KIB, text_KIB, "проп")!=0)
{
sleep(150);
mouse (LEFT, symbolxpos(0)+311, symbolypos(0)+580);
pause(1000); goto global nach;
}
///

(Отредактировано автором: 12 Мая, 2019 - 14:15:50)

 
 Top
Zireael
Отправлено: 12 Мая, 2019 - 17:59:55
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4461
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Надо в области найти слово

readtext для этого есть.
 Цитата:
подскажите ?

Что подсказать?
 Цитата:
if (regexsearch(-1, # text_KIB, text_KIB, "обнов" )!=0)

-1 заменить на 1. Если найдется больше 1 совпадения, то будет ошибка.
 Цитата:
if (regexsearch(-1, # text_KIB, text_KIB, "прод" )!=0)
if (regexsearch(-1, # text_KIB, text_KIB, "проп" )!=0)

Можно так если действия одинаковые:
CODE:
if (regexsearch(1, #text_KIB, text_KIB, "прод|проп" )!=0)

Т. е. "прод" или "проп".
 
 Top
konctantin777
Отправлено: 12 Мая, 2019 - 18:07:34
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




В области появляются разные слова обновить, проп, прод и прочие. Нужно на слово нажать. Пробовал regexstart, но не разобрался не получается... Примера, чтобы просто скопировать н нашел (
(Добавление)
 konctantin777 пишет:
if (regexsearch(1, #text_KIB, text_KIB, "прод|проп|обнов" )!=0)


Было бы идеально, но слова в разных местах появляются..
 
 Top
Zireael
Отправлено: 12 Мая, 2019 - 18:22:59
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4461
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
В области появляются разные слова

Повторю: для поиска текста на экране функция readtext.
 
 Top
konctantin777
Отправлено: 12 Мая, 2019 - 18:37:15
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




 Zireael пишет:
для поиска текста на экране функция readtext.

Слова находит норм- всё настроено. Вопрос только в определении их координат, чтобы по ним щелкнуть..
if (regexsearch(1, #text_KIB, text_KIB, "прод|проп|обнов" )!=0)
Всё ок. Но как на нём щелкнуть ?

mouse (LEFT, symbolxpos(0)+311, symbolypos(0)+580);
тут координаты 1го символа (ДО нужного слова, ещё символы есть)

Я так думаю нужно regexstart использовать, но не пойму как. В примерах только regexstart(#Pos_start[0]); есть, но как отсюда выцепить координаты ?

(Отредактировано автором: 12 Мая, 2019 - 18:37:38)

 
 Top
Страниц (25): « 1 2 [3] 4 5 6 7 8 9 » В конец
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0)
« О программе Кибор »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by