Написал код, а он глючит.
Задача скрипта перемещать на один вверх курсор выделения в списке закладок браузера Mozilla Firefox (это все в окне "Показать все закладки"). Код работает до конца списка.
Проблема в том, что код примерно в 50% случаев прогона даже по одному списку закладок внезапно останавливается на случайном значении. Я думал, что просто не успевает обновиться экран после нажатия #up или что-то вроде этого, поэтому понапихал везде задержек. Задержка после keypress(#up) вроде себя оправдывает, но остальные не помогают - код все-равно глючит.
#name "test script"
define($_) // Произвольная пер-я, чтобы dialogbox работала.
define($n, 0) // Счетчик для имен файлов скриншотов.
define($endlist, 0) // Если 1, то конец списка.
define($file) // Файл скриншота.
sub(fname) // Формируем имя файла скриншота на основе счетчика.
if ($n < 10)
$file = strconcat("screens\stt000", $n, ".bmp")
else
if ($n < 100)
$file = strconcat("screens\stt00", $n, ".bmp")
else
$file = strconcat("screens\stt0", $n, ".bmp")
end_if
end_if
inc($n)
end_sub
sub (uplist) // На один пункт вверх в списке закладок.
if ($n = 0)
getscreen
screenshotex(254, 59, 275, 595, "stt")
end_if
keypress(#up)
waitms(100)
getscreen
fname()
if_picture_in(254, 59, 275, 595, $file)
$endlist = 1
else
screenshotex(254, 59, 275, 595, "stt")
waitms(100)
end_if
end_sub
waitms(100)
while ($endlist = 0) // Пока весь список не закончится ...
waitms(100) // ... делаем что-то с закладкой.
uplist ()
end_cyc
waitms(100)
execute("auto_del.bat") // Очищаем папку со скриншотами.
$_ = dialogbox($n, 0, 4) // Отладка.
//$_ = dialogbox("ГОТОВО", 0, 4)
halt