Zireael |
Отправлено: 04 Мая, 2019 - 13:14:02
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Зачем? Если в массив ничего не записывалось, то и так понятно что в нём ничего нет.
Цитата: Как найти текст такого плана:
"ННННННН..."
CODE:char c[10];
string s="";
if(regexsearch(1, #s, format(#c[0]), "^Н+$"))messagebox("Нашли"); |
|
|
007wan |
Отправлено: 04 Мая, 2019 - 18:03:49
|
Эксперт
Покинул форум
Сообщений всего: 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:function Log(string s)
{
int count;
int Size[2];
new char c[size(s)+1];
strcpy(#c[0], s);
getlocaltime(Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds);
Strftime(address(#Time[0]), sizearray(Time), "[%X] - ", Hour, Minute, Second, Day, Month, Year);
GetTextExtentPoint32(DC_Listbox1, address(#c[0]), sizearray(c), address(#Size[0]));
if(Listbox1_TextLength < Size[0])
{
Listbox1_TextLength = Size[0];
sendmessage(LB_SETHORIZONTALEXTENT, Size[0], 0, formatiw(Object_Listbox1));
}
sendmessage(LB_ADDSTRING, 0, address(#c[0]), formatiw(Object_Listbox1));
count = sendmessage(LB_GETCOUNT, 0, 0, formatiw(Object_Listbox1));
if(format(#Load_Checkbox2[0]) == "1")
{
sendmessage(LB_SETTOPINDEX, count-1, 0, formatiw(Object_Listbox1));
}
//SendMessage(Object_Listbox1, LB_GETTEXT, count-1, address(#Text_Listbox1[0]));
//WritePrivateProfileString ("Default"+format(count), "Object_Listbox1", format(#Text_Listbox1[0]), temp_fold+"Log.txt");
delete c;
}
(Добавление)
CODE:char Time[100];
char Date[100];
int Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds; |
|
|
konctantin777 |
Отправлено: 12 Мая, 2019 - 14:14:56
|
Эксперт
Покинул форум
Сообщений всего: 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) |
|
|
Zireael |
Отправлено: 12 Мая, 2019 - 17:59:55
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 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)
Т. е. "прод" или "проп". |
|
|
konctantin777 |
Отправлено: 12 Мая, 2019 - 18:37:15
|
Эксперт
Покинул форум
Сообщений всего: 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) |
|
|
|