Кибор в настроен на распознавание текста, суммировании найденных чисел и вывода сообщения.
В процессе работы Кибор сильно грузит процессор - до 40%. Состояние процесса в диспетчере задач: Не отвечает. Из-за этого распознавание теста занимает до 20 секунд.
Подскажите, что именно в коде грузит процессор и как этого можно избежать.
Спасибо.
Код:
CODE:
m_KIB1:
string Text_w[51];
string Text;
string User_Name[51];
int User_X[51];
int User_Y[51];
int Kml_User=0;
sleep(1000);
loadsymbolbase ("C:\Users\Pavel Ivanov\Desktop\kibor_set\basetext.sib");
pause(50);
int k=readtext (NUM | RU | MARK, #Text_w[0], 40, -1, -1, -1, -1, -1, -1, 0, 50, 942, 602, 1075, 693, -1);
for (int n=0; n<k; n++)
{
if (Text_w[n]!="")
{
if (regexsearch(1, #Text, Text_w[n], "Сила крит. удар +")==1)
{
if (regexsearch(1, #User_Name[Kml_User], Text_w[n], "\d+")==1)
{
User_X[Kml_User]=symbolxpos(n, 0);
User_Y[Kml_User]=symbolypos(n, 0);
Kml_User++;
}
}
}
}
sleep(1000);
int summa = 0;
for (n=0; n<Kml_User; n++)
{
summa = summa + formatsn(User_Name[n]);
textout(n, 912+User_X[n], 590+User_Y[n]+5, User_Name[n], 0);
}
sleep(1000);
if (summa>20) goto m_KIB2;
else goto m_KIB1;
m_KIB2: pause(50);
keydown(17);
pause(100);
key(123);
pause(100);
keyup(17);
pause(100);
mousemove(100, 100)
beep(1000, 500);
messagebox(summa);
m_KIB1:
string Text_w[51];
string Text;
string User_Name[51];
int User_X[51];
int User_Y[51];
int Kml_User=0;
sleep(1000);
loadsymbolbase ("C:\Users\Pavel Ivanov\Desktop\kibor_set\basetext.sib");
pause(50);
int k=readtext (NUM | RU | MARK, #Text_w[0], 40, -1, -1, -1, -1, -1, -1, 0, 50, 942, 602, 1075, 693, -1);
for (int n=0; n<k; n++)
{
if (Text_w[n]!="")
{
if (regexsearch(1, #Text, Text_w[n], "Сила крит. удар +")==1)
{
if (regexsearch(1, #User_Name[Kml_User], Text_w[n], "\d+")==1)
{
User_X[Kml_User]=symbolxpos(n, 0);
User_Y[Kml_User]=symbolypos(n, 0);
Kml_User++;
}
}
}
}
sleep(1000);
int summa = 0;
for (n=0; n<Kml_User; n++)
{
summa = summa + formatsn(User_Name[n]);
textout(n, 912+User_X[n], 590+User_Y[n]+5, User_Name[n], 0);
}
sleep(1000);
if (summa>20) goto m_KIB2;
else goto m_KIB1;
m_KIB2: pause(50);
keydown(17);
pause(100);
key(123);
pause(100);
keyup(17);
pause(100);
mousemove(100, 100)
beep(1000, 500);
messagebox(summa);