Romingood |
Отправлено: 19 Октября, 2018 - 02:55:34
|
Прохожий
Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2018
Репутация: 0
|
Zireael пишет: Цитата: как блоки красным закрашиваются.
То что буквы сливаются не имеет никакого значения. При включенной галке интеллект они будут распознаны как надо.
https://ibb.co/hkFRO0
Скиньте плз архив с настройками, базой на почту romingood собакин yandex точка ru
Заранее благодарен!(Отредактировано автором: 19 Октября, 2018 - 02:57:45) |
|
|
Kibor |
Отправлено: 19 Октября, 2018 - 03:49:04
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Дело не в базе. База стандартная.
Дело в подходе к задаче.
вы наверно пытаетесь за один проход распознать всю зону окна.
Это не правильно. Надо назначить нужным данным которые надо распознать свои зоны и по отдельности их сканировать, так как строки текстов не в линию, а одна надпись выше, другая ниже.
Но использовать распознавание имеет смысл тут только если это скрины.
А если реальное окно программы, то проще считывать данные прямо с окон. С эдитов, или чего там надо.
Пример получения текста с Edit (Окно "Выполнить") в windowd 7
Указатель получить в шпионе - контрол. Н а поле с текстом выполняемой команды или программы.
CODE:win w=window (-1, "Edit", window ("Выполнить", "#32770", -1));
char p[100];
sendmessage(WM_GETTEXT,100, address(#p[0]), w);
messagebox (format(#p[0])); |
|
|
ivantu |
Отправлено: 22 Октября, 2018 - 15:22:59
|
Эксперт
Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013
Репутация: 14
|
Спасибо, но что то не хочет кликать
CODE:mouse(LEFT, symbolxpos(0)+rand(10,15), symbolypos(0)-rand(5,10), wind);
P/S нашел свою ошибку маус надо было на sendMouse поменять, но клики все равно не туда где текст нашелся
(Добавление)
Друзья помогите кликнуть по тексту, нажимает почему то в верхний левый угол окна а не текста, хотя текст находит, и распознает как надо.
CODE:
sendmouse(LEFT, symbolxpos(0)+rand(10, 15), symbolypos(0)-rand(5, 10), wind);
(Отредактировано автором: 22 Октября, 2018 - 15:25:52) |
|
|
ivantu |
Отправлено: 23 Октября, 2018 - 08:17:08
|
Эксперт
Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013
Репутация: 14
|
Zireael пишет: Цитата: нажимает почему то в верхний левый угол окна а не текста
symbolxpos - возвращает позицию символа по X от начала зоны поиска.
Прибавьте начальные координаты поиска.
что то я не совсем понял указать размеры окна, или то что я выделил красным?
вот мой код целиком
CODE:
win wind=window ("BlueStacks Android PluginAndroid", -1, window ("BlueStacks", -1, -1));
string Text;
loadsymbolbase ("F:\Soft\Kibor\images\sw_base.sib");
startuem:
readtext (RU | MARK, #Text, 2, 1, -1, -1, -1, -1, -1, 0, -1,[color=red] 184, 231, 299, 262[/color], wind);
//messagebox (Text);//тест
//sendmouse(LEFT,x, y,wind);
if (Text == "повторить") {
sendmouse(LEFT, symbolxpos(0)+rand(10, 15), symbolypos(0)-rand(5, 10), wind);
//messagebox (Text);//тест
}
sleep 500;
goto startuem;
|
|
|
Zireael |
Отправлено: 23 Октября, 2018 - 11:18:59
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: win wind=window ("BlueStacks Android PluginAndroid", -1, window ("BlueStacks", -1, -1));
string Text;
loadsymbolbase ("F:\Soft\Kibor\images\sw_base.sib" );
startuem:
readtext (RU | MARK, #Text, 2, 1, -1, -1, -1, -1, -1, 0, -1, 184, 231, 299, 262, wind);
//messagebox (Text);//тест
//sendmouse(LEFT,x, y,wind);
if (Text == "повторить" ) {
sendmouse(LEFT, 184+symbolxpos(0)+rand(10, 15), 231+symbolypos(0)-rand(5, 10), wind);
//messagebox (Text);//тест
}
sleep 500;
goto startuem; |
|
|
|