Кибор » Кибор - Интегрированная среда разработки ботов » Отчет о ошибках » Проблема с функцией key Kibor-а

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

1. MedAleks - 21 Февраля, 2014 - 10:21:15 - перейти к сообщению
Здравствуйте! Хочу вам сообщить о замеченной некорректной работы функции key.

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

CODE:

a:
sleep(50);
if(findimage(1, #@mail.ru[0][0], -1, #x[0], #y[0], 0, 0, mail_wind.widthclient, mail_wind.heightclient, mail_wind)==1)
{
mouse(LEFT, x[0]-30, y[0]+10, 1, mail_wind);
mousemove(200, 200, mail_wind);
key(login, 1, 1, mail_wind);
//key(login);
key(TAB);
key(password, 1, 1, mail_wind);
}
else goto a;
messagebox(login);
goto end;


При этом в качестве примера у меня в переменной login записано значение "proba@mail.ru" , а в password - "proba".


Как видно из скриншота, в messagebox почта вывелась нормально, с "@" посередине, а в форму при помощи функции key почта вывелась с заменённой "@" на "2".

Если применить "key(login);" вместо "key(login, 1, 1, mail_wind);", то результат будет тот же самый.

Можно ли это как-то исправить?
2. Andrew - 21 Февраля, 2014 - 11:01:29 - перейти к сообщению
MedAleks , ну во первых тут нет отчета об ошибка, да.
Во вторых Вы плохо читали форум, у меня в начале моего обучения тоже возникла такая проблема. Разве есть клавиша @? Вы когда печатаете Вы нажимаете на клавишу с одной "@"? Тут надо представить этот символ как:
CODE:
Зажать (ШИФТ);
Нажать (2);
Отпустить (ШИФТ);

Я думаю только так, что либо получится Закатив глазки
3. Kibor - 21 Февраля, 2014 - 11:18:42 - перейти к сообщению
Да да... Идет просто нажатие на клавишу, но у комбинации должны сами уже делать.
Тем более антиантикликер эмулирует просто нажатие на уровне железа Нету там @...
4. MedAleks - 21 Февраля, 2014 - 11:43:23 - перейти к сообщению
 Andrew пишет:
MedAleks , ну во первых тут нет отчета об ошибка, да.
Во вторых Вы плохо читали форум, у меня в начале моего обучения тоже возникла такая проблема. Разве есть клавиша @? Вы когда печатаете Вы нажимаете на клавишу с одной "@"? Тут надо представить этот символ как:
CODE:
Зажать (ШИФТ);
Нажать (2);
Отпустить (ШИФТ);

Я думаю только так, что либо получится Закатив глазки

Так вот оно что.. Сам я так и не смог додуматься, почему же печатается именно "2". Хммм... Спасибо. Радость Жалко, конечно, что такие вещи не обрабатываются автоматически, тогда я ещё хотел бы уточнить, в Kibor нету таких функций работы со строками, как поиск индекса символа в строке, копирование из одной строки в другую до символа с определённым индексом?.. Ну, в общем таких, которые позволяют вычленить "@" из всей строки и всё остальное?

P.S. Я, если честно, сначала думал, что это ошибка.. И весь форум перечитывать времени не было, но найти с помощью поиска каких-то комбинаций слов с "@" я так и не смог..
5. Andrew - 21 Февраля, 2014 - 11:45:55 - перейти к сообщению
MedAleks , Всегда пожалуйста.
 MedAleks пишет:
аких функций работы со строками, как поиск индекса символа в строке
Что вам мешает сделать картинку символа и искать эту картинку?
6. Kibor - 21 Февраля, 2014 - 11:53:53 - перейти к сообщению
 MedAleks пишет:
тогда я ещё хотел бы уточнить, в Kibor нету таких функций работы со строками, как поиск индекса символа в строке, копирование из одной строки в другую до символа с определённым индексом?.. Ну, в общем таких, которые позволяют вычленить "@" из всей строки и всё остальное?

Изучите внимательно этот пост http://kibor-bot.com/forum/topic...90452#1385690452
Такие функции являются пользовательскими и легко пишутся.
7. MedAleks - 21 Февраля, 2014 - 11:57:06 - перейти к сообщению
 Andrew пишет:
Что вам мешает сделать картинку символа и искать эту картинку?

Мне это нужно не для поиска "@"...
У меня в EDIT_0 и EDIT_1 в киборе записываются логин (proba@mail.ru) и пароль, затем автокликер сам записывает эти значения в соответствующие поля на форме авторизации Mail.ru. Это было бы поправимо с помощью использования комбобокса с заранее забитыми в него @mail.ru, @bk.ru и т.д., но я делаю такой автокликер, который должен работать ещё и с другими почтовыми ящиками, не только Mail.ru. А слишком большое нагромождение разных значений в комбобоксе повлияет на удобство в моём случае... А тут для меня важна скорость и простота работы с автокликером.

 Kibor пишет:
Изучите внимательно этот пост http://kibor-bot.com/forum/topic...90452#1385690452
Такие функции являются пользовательскими и легко пишутся.

Спасибо! Буду пробовать.
8. Andrew - 21 Февраля, 2014 - 12:17:34 - перейти к сообщению
MedAleks , не совсем я просто вникся в суть вопроса, простите Огорчён
9. MedAleks - 21 Февраля, 2014 - 12:33:05 - перейти к сообщению
Andrew, да ничего страшного Улыбка
(Добавление)
Решил проблему путём предварительной вставки нужного мне текста в буфер обмена, а затем уже вставки его на форме с помощью CTRL + V:
CODE:
a:
sleep(50);
if(findimage(1, #@mail.ru[0][0], -1, #x[0], #y[0], 0, 0, mail_wind.widthclient, mail_wind.heightclient, mail_wind)==1)
{
mouse(LEFT, x[0]-30, y[0]+10, 1, mail_wind);
mousemove(200, 200, mail_wind);

sendlanguage("00000409", 0);
writeclipboard(login);
keydown(CONTROL);
key("v");
keyup(CONTROL);
key(TAB);
writeclipboard(password);
keydown(CONTROL);
key("v");
keyup(CONTROL);
}
else goto a;
messagebox(login);
goto end;

Таким образом я также получил существенный прирост в скорости заполнения формы Улыбка
10. HACMOPK - 21 Февраля, 2014 - 13:15:00 - перейти к сообщению
Не знаю можно рекламировать или нет в общем если будешь дальше так работать с буфером есть программа HamsinClipboard принцип набираешь в буфер cntl+c до 10 значений потом можешь вставлять cntl+1;cntl+2 и т.д очень удобно.))) а вообще лучше посмотри функции для работы с текстовыми файлами и буфером обмена. Чтение и запись.

Powered by ExBB FM 1.0 Final