Budni |
Отправлено: 19 Января, 2019 - 17:02:22
|
Специалист
Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018
Репутация: 2
|
Ещё вопрос по логике, почему не работает?
CODE:string text_KIB;
loadsymbolbase("C:\Users\budni\Desktop\Bot`s\kibor_set\basetext.sib");
readtext(RU | EN, #text_KIB, 8, 1, -1, -1, -1, -1, -1, 0, -1, 19, 29, 149, 41, -1);
if (text_KIB==top){messagebox(1);}
if (text_KIB==bot){messagebox(2);}
if (text_KIB==lot){messagebox(3);}
if (text_KIB==hop){messagebox(4);}
if (text_KIB==loof){messagebox(5);}
смысл в том что редтекст распознает слова, в зависимости от слова должен показать сообщение
(Добавление)
И ещё можно ли как то визуально посмотреть зону сканирования текста? Чтобы проверить правильно ли указал область? |
|
|
Zireael |
Отправлено: 19 Января, 2019 - 17:16:12
|
Эксперт
Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: if (text_KIB==top){messagebox(1);}
Текст указывается в кавычках.
Цитата: if (text_KIB=="top"){messagebox(1);}
(Добавление)
Цитата: можно ли как то визуально посмотреть зону сканирования текста?
CODE:int sx=19, sy=29, fx=149, fy=41; // координаты readtext
new int xx[fx-sx+1][1]; // массив для горизонтальной линии в 1 пиксель
new int yy[1][fy-sy+1]; // массив для вертикальной линии в 1 пиксель
int i;
for(i=0; i<fx-sx; i++)xx[i][0]=255; // заполнить массив
for(i=0; i<fy-sy; i++)yy[0][i]=255; // заполнить массив
visual(); // вывести 4 линии
loop()
{
// скрипт
sleep(100);
}
function visual()
{
visualwindow(0, 0, 0, sizearray(xx), 1, sx, sy , 100, #xx[0][0]);
visualwindow(1, 0, 0, sizearray(xx), 1, sx, fy , 100, #xx[0][0]);
visualwindow(2, 0, 0, 1, sizearray(yy[]), sx, sy, 100, #yy[0][0]);
visualwindow(3, 0, 0, 1, sizearray(yy[]), fx, sy, 100, #yy[0][0]);
} |
|
|
Zireael |
Отправлено: 19 Января, 2019 - 19:48:07
|
Эксперт
Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: И ещё можно визуально линии начертить в контроле и окне?
Прибавить к координатам вывода изображения координаты окна или контрола.
Цитата: visualwindow(0, 0, 0, sizearray(xx), 1, sx+w.left, sy+w.top, 100, #xx[0][0]); // + позиция окна
Цитата: visualwindow(0, 0, 0, sizearray(xx), 1, sx+w.leftclient, sy+w.topclient, 100, #xx[0][0]); // + позиция клиента
Но, если окно передвинуть, то линии не передвинутся, надо снова получать позицию окна и вызывать функцию чтобы перерисовать линии в новых координатах. |
|
|
|