Последние сообщения

Страницы: 1 ... 3 4 [5] 6 7 ... 10
41
Общие вопросы / Помогите с проблемой
« Последний ответ от Atheas Октябрь 29, 2021, 11:00:32 am »
Появилась такая проблема, до некоторого времени все работало нормально без сбоев, а потом в данном скрипте перестало видеть  данные строки (их я выделил жирным шрифтом)
при том, что корректировки никакие не делались. Таких скриптов в макросе 9 шт, не видит 3 и 4, ума не приложу в чем проблема.

GETSCREEN
IF_PIXEL_IN(117,198,825,1038,6737016)
   WAIT(2)
   MCLICK($_return1, $_return2)
   WAIT(1)
END_IF
GETSCREEN
IF_PIXEL_IN(5,4,1888,81,16579835)
   LCLICK(985,14)
   WAIT(3)
   LCLICK(1081,14)
   WAIT(3)
END_IF
42
Использование / Re: Режим выполнения через ini файл
« Последний ответ от Vint Октябрь 28, 2021, 09:08:26 am »
Нет.
Режим выполнения из меню специально так сделан чтобы не запоминать значения. Скриптов может быть много и они разные. Могут быть и с автозапуском. Поэтому эта менюшка только здесь и сейчас, при этом открытии скрипта.

По большему счёту она не нужна. Всё, что настраивается в этом режиме, делается в самом скрипте, буквально 1-2 строками.
43
Использование / Режим выполнения через ini файл
« Последний ответ от HD1521 Октябрь 27, 2021, 10:02:27 pm »
Доброго всем.

Не нашел, возможно ли в ини файле прописать по дефолту фиксированный режим выполнения ?
44
Через FReadData можно прочитать картинку bmp и сохранить массивом в памяти.
Как потом использовать этот массив в функциях If_picture_in или ScanPicture?
Никак. Функции поиска не принимают ни массивы ни указатели, только путь к файлу.

А то иногда приходится сравнивать экран с несколькими образцами, и если это в цикле, то каждая итерация гоняет чтение картинок с диска.
Может и гоняет, я не проверял. А возможно там кэшируется и объект не удаляется. В любом случае, для меня не критично.
45
Через FReadData можно прочитать картинку bmp и сохранить массивом в памяти.
Как потом использовать этот массив в функциях If_picture_in или ScanPicture?
А то иногда приходится сравнивать экран с несколькими образцами, и если это в цикле, то каждая итерация гоняет чтение картинок с диска.
46
В v4.14.003 есть ARRCONCAT. Смотрите в справке как он работает. Как раз для таких случаев.
47
Нет такого функционала.
48
Если делать передачу через глобальные переменные, возможно ли сделать переименование переменной или ссылку на переменную?
Например в основной программе у меня $array,  а в подпрограмме $subr_array:
rename_variable($array,$subr_array)
my_subr_process()
rename_variable($subr_array,$array)
или$subr_array=link_to_variable($array)
my_subr_process()
unlink($subr_array)
49
Только поэлементным копированием в цикле, потому что в КМ массивы - динамические. При копировании теряется размер массива и все элементы после первого.

В КМ нет локальных переменных. Все переменные глобальны, из-за этого приходиться для каждого потока делать свою подпрограмму с уникальными названиями. Или делать так чтобы запуск подпрограммы не пересекался во времени в разных потоках
 
50
Каким образом передать массив в подпрограмму?
Псевдокод того что хотелось бы:
define($array1)
define($array2)

//как-то заполняем оба массива

my_subr_process($array1) //обрабатываем первый массив
my_subr_process($array2) //той же процедурой обрабатываем второй массив
my_print($array1)
my_print($array2)
Насколько я понимаю, в подпрограммы параметрами передавать можно только элементарные типы. А если указать массив, передаётся первый элемент.
Можно было бы передать массив через глобальную переменную, но тогда перед вызовом надо скопировать в эту переменную, а потом копировать обратно. Выглядит тяжеловато, особенно если вызываемая подпрограмма - однострочник.
Страницы: 1 ... 3 4 [5] 6 7 ... 10