Кибор » Кибор - Интегрированная среда разработки ботов » Предложения по программе » Идеи по улучшениям

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

11. barok2 - 21 Октября, 2014 - 02:17:19 - перейти к сообщению
В редакторе Кибор выделение текста, взятие в карман, вставка из кармана с клавиатуры работает нормально, но не показывается выделение текста. А с ним удобнее.... Улыбка Работает только выделение мышкой.
(Добавление)
При сохранении картинки в окне "графика" файла Image_1.bmp, появляется файл Image_1.bmp.bmp
(Добавление)
Может в окно "имя файла" не стоит переносить расширение?
А то нажимаешь 1 букву сохраненного файла, выскакиает окошко с именами с этой буквы, выбираешь подсказку, в итоге сохраняется файл с двойным расширением.
(Добавление)
На вкладку "графика"/Переменная изображения=Image_6 Я меняю на Image_1 однако в нижеследующей строчке ничего не меняется, так и остается ..... Image_6
(Добавление)
У меня не с первого раза получилось, поэтому хотелось бы вернуть наименование Файла и ячеек памяти снова к 1. А как?
(Добавление)
А нельзя сделать так, чтобы в mesgebox можно было сообщение выделять и копировать в карман?
У меня пишет ошибку, loadimage (#Image_01[0][0], .......
однако строка скрипта другая: loadimage (#Image_0[0][0].....
(Добавление)
А отладчик не планируется?
12. barok2 - 21 Октября, 2014 - 23:10:34 - перейти к сообщению
Вроде вот так еще работает: без goto Улыбка
for (win not; window ("Безымянный - Блокнот", "Notepad", -1)==0;sleep(50)){}
(Добавление)
Не очень понятно, зачем надо ставить win not;
(Добавление)
При работе с примером "калькулятор" выяснилось, что в блокнот часто вставляется не содержимое окна калькулятора, а содержимое "кармана", которое там было.
При копировании при помощи клавиатуры такого нет.
(Добавление)
Но это случается при множестве открытых окон калькулятора.
13. Kibor - 22 Октября, 2014 - 00:13:13 - перейти к сообщению
 barok2 пишет:
Вроде вот так еще работает: без goto Улыбка
for (win not; window ("Безымянный - Блокнот", "Notepad", -1)==0;sleep(50)){}
(Добавление)
Не очень понятно, зачем надо ставить win not;


что такое for (win not; window ("Безымянный — Блокнот", "Notepad", -1)==0;sleep(50)){}...??

это
win not;
a: if (window ("Безымянный — Блокнот", "Notepad", -1)==0)
{
sleep(50);
goto a;
}

в for надо 3 параметра. это правила синтаксиса.
14. barok2 - 22 Октября, 2014 - 00:35:31 - перейти к сообщению
В скрипте "Ожидание изображения на экране и пограммное нажатие клавиатуры."
в первом открытом окне блокнота копия окна калькулятора не показывалась. Только во втором и далее. Уменьшил время ожидания с 1 сек на 50мс, стало работать нормально.
(Добавление)
[quote=Kibor]
 barok2 пишет:

в for надо 3 параметра. это правила синтаксиса.

в си вроде в for можно все 3 параметра опустить.
(Добавление)
 Kibor пишет:


Вроде если 2 параметр true, то цикл повторяется.
(Добавление)
CODE:
//int Image_0[23][15];//Масив для хранения расунка 52 загруженного с файла в память
int PosX_0[1], PosY_0[1];//Сюда поместятся координаты найденного рисунка на экране. В нашем

int Image_0[11][15];loadimage (#Image_0[0][0], "D:\Games\Kibor\bas\Скрипты\Ожидание\Image_0.bmp");
int color, xe, ye;
//getdisplay(color, xe, ye);//Узнать разрешение экрана
//сканируем экран и ждем появления на нем загруженного изображения. в нашем случае числа 52
//n: if (findimage(1, #Image_0[0][0], 255, #PosX_0[0], #PosY_0[0], 0, 0, xe, ye, -1)==0)
//{
//sleep(50);//ждем 50 мсек. для снижения нагрузки процессора
//goto n;//идем назад на проверку наличия изображения на экране
//} //? из блока переход....

for(getdisplay(color, xe, ye); findimage(1, #Image_0[0][0], 255, #PosX_0[0], #PosY_0[0], 0, 0, xe, ye, -1)==0; sleep(50)){};

//когда изображение появилось запускаем блокнот
start("C:\Windows\System32\notepad.exe");

//win not;
//e: not=window ("Безымянный - Блокнот", "Notepad", -1);//Указательна на окно Блокнот
//if (not==0)//Если указатель не получен еще. блокнот не успел запуститься......
//{sleep(50);goto e;}
for (win not; (not=window ("Безымянный - Блокнот", "Notepad", -1))==0; sleep(50));{};

win cal=window ("Калькулятор", "CalcFrame", -1);//Указатель на калькулятор

activate(cal);//передать фокус на калькулятор
sleep(50);// ждать пол секунды

//копировать значение с калькулятора в буфер обмена с помощью грячих клавиш CTRL C
keydown(CONTROL);keydown('c');//нажать CTRL C
sleep(50);
keyup('c');keyup(CONTROL);//отпустить CTRL C

activate(not);//передать фокус на блокнот
sleep(50);// ждать секунду

//вставить с буфера обмена в блокнот нажав CTRL V
keydown(CONTROL);keydown('v');//нажать CTRL V
sleep(50);
keyup('v');keyup(CONTROL);//отпустить CTRL V

(Добавление)
Нет, я хотел сказать не опустить параметры, а использовать иначе, не так как обычно. 1 параметр выполняется первым. Затем второй параметр-условие выполнения цикла. И третий параметр-выполняется третим. Второй и третий выполняются каждый цикл. первый-только раз.
(Добавление)
Это код вашего рабочего примера. С изменением на цикл for (без goto). Тоже работает.
15. Kibor - 22 Октября, 2014 - 01:00:22 - перейти к сообщению
 barok2 пишет:
в си вроде в for можно все 3 параметра опустить.

'это не си.
это язык с си образным обрезанным синтаксисом, который я сам придумал. просто за основу взял этот синтаксис. у него те правила которые обрабатываются синтаксическим анализатором Кибор.

for (win not; (not=window ("Безымянный - Блокнот", "Notepad", -1))==0; sleep(50));{};
зачем выдумывать свое? есть простой синтаксис Кибор..
это не правильно. так не допускается все равно что
if ((not=window ("Безымянный - Блокнот", "Notepad", -1))==0)
в Кибор нет так нельзя.
(Добавление)
 barok2 пишет:
Второй и третий выполняются каждый цикл. первый-только раз.

ну да. так и работает.
(Добавление)
 barok2 пишет:
for(getdisplay(color, xe, ye); findimage(1, #Image_0[0][0], 255, #PosX_0[0], #PosY_0[0], 0, 0, xe, ye, -1)==0; sleep(50)){};

это правильно.
16. 007wan - 08 Сентября, 2019 - 03:53:24 - перейти к сообщению
 Kibor пишет:
Неоднократно предлагали...
Никогда не будет. Это было раньше и отключено, так как конфликтует с горячими кнопками управления. Неприятно видеть когда после остановки скрипта контр шифт z в редакторе отменен последний код..
Да, но ведь действие при нажатии можно отключить при запуске скрипта, так же как и самих клавиш, которые останавливают скрипт. Достаточно ввести переменную - флаг и щелкать ее при запуске или остановки скрипта.
17. Demon - 23 Апреля, 2020 - 11:58:30 - перейти к сообщению
Добрый день
Есть предложение/просьба. Реализовать в поиске изображения алгоритм IN, тоесть что бы в один блок можно было добавлять несколько картинок, это поможет значительно сократить схемы. Так же очень хотелось бы видеть инструмент, позволяющий отслеживать на каком блоке произощло окончание работы программы. Лог отладки для меня лично мало информативен в этом случае...
18. ivantu - 13 Мая, 2020 - 07:10:21 - перейти к сообщению
Есть идея, для удобства добавить на вкладки какое то визуальное обозначение что во вкладке были какие то правки, и они не были сохранены, типо звездочки * как в текстовых документах, иногда спасает много времени для поиска не работоспособности скрипта, когда прыгаешь с вкладки на вкладку и забываешь сохранить...

Powered by ExBB FM 1.0 Final