barok2 |
Отправлено: 21 Октября, 2014 - 10:17:19
|
Прохожий
Покинул форум
Сообщений всего: 12
Дата рег-ции: Окт. 2014
Репутация: 0
|
В редакторе Кибор выделение текста, взятие в карман, вставка из кармана с клавиатуры работает нормально, но не показывается выделение текста. А с ним удобнее.... Работает только выделение мышкой.
(Добавление)
При сохранении картинки в окне "графика" файла 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].....
(Добавление)
А отладчик не планируется? |
|
|
barok2 |
Отправлено: 22 Октября, 2014 - 08:35:31
|
Прохожий
Покинул форум
Сообщений всего: 12
Дата рег-ции: Окт. 2014
Репутация: 0
|
В скрипте "Ожидание изображения на экране и пограммное нажатие клавиатуры."
в первом открытом окне блокнота копия окна калькулятора не показывалась. Только во втором и далее. Уменьшил время ожидания с 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). Тоже работает. |
|
|
Kibor |
Отправлено: 22 Октября, 2014 - 09:00:22
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
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)){};
это правильно. |
|
|
|