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

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

 Страниц (1): [1]   

> Описание: внутри...
ivantu
Отправлено: 20 Ноября, 2020 - 10:05:05
Post Id



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


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




Друзья такое , дело есть зона поиска текста в ней возможно появление слов, то слева то справа, эти слова я определяю получив общий текст из зоны поиска убираю все буквы кроме уникальных для каждого слова тем самым отсеивая, к примеру два слова, это две кнопки:

"Повторить Дальше"

через функцию отсеиваю лишнее
CODE:

readtext (RU , #read_text, 3, 1, -1, -1, -1, -1, -1, 0, -1, 166, 273, 794, 309, wind);

regexreplace(-1, #next, read_text, "[^^ш]", ""); // Что оставляем


дальше мне нужно совершить клик именно по букве "ш" это реально?
у меня всегда кликает в стартовые координаты поиска..

CODE:
adb_tap(166+symbolxpos(0)+rand(-5, 5), 273+symbolypos(0)+rand(-5, 5));
 
 Top
Zireael
Отправлено: 20 Ноября, 2020 - 10:17:28
Post Id



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


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




Надо не удалять символы из строки, а найти нужный, после чего узнать его позицию в тексте.
regesearch + regexstart.
 
 Top
ivantu
Отправлено: 20 Ноября, 2020 - 10:46:46
Post Id



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


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




Честно пытался, но не понимаю как работать с regexstart , она принимает int , что передать ей?

CODE:
regexstart(#Pos_start[0]);



Параметр - Указатель на int или массив int, в который запишутся стартовые позиции найденных фрагментов. Массив выделять не менее количества фрагментов.

Возвращает количество найденных фрагментов, как и regexsearch.
(Добавление)
Все нашел пример, спасибо, проблема решена.

CODE:
string Text;
readtext (RU | MARK, #Text, 8, 1, -1, -1, -1, -1, -1, 0, -1, 77, 150, 787, 321, -1);//распознали текст
if (regexsearch(1, #Text, Text, "Вопросы и решение проблем")==1)//если в распознанном тексте есть фраза
{
int u=regexstart(0);//узнали номер первого символа фразы в распознанном тексте
int x=symbolxpos(u)+77;//зная номер символа узнаем его позицию по x относительно начала заны распознавания
int y=symbolypos(u)+150;//зная номер символа узнаем его позицию по y относительно начала заны распознавания
}
 
 Top
Zireael
Отправлено: 20 Ноября, 2020 - 10:57:40
Post Id



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


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




CODE:
string s = "Повторить Дальше"; // текст

int position = find_position(s, "ш"); // поиск буквы ш
if(position!=-1) // если найдена
{
messagebox("Позиция символа в строке: "+format(position));
}


function find_position(string text, string search)
{
string temp;
int pos;
if(regexsearch(1, #temp, text, search))
{
if(regexstart(#pos))return pos;
}
return -1;
}
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by