говорит что - синтаксическая ошибка в строке 11 (пробовал запускать на версиях NNCRON v 1.91 и NNCRON v 1.93b)
строка 11 вроде как вот эта получается: OVER KEY-PRESSED? AND
может какого плагина не хватает или конфликт с чем то ? вроде не переставлял nncron.
Кронтаб делает такое - при запущенном винампе, если нажата быстро средняя кнопка мыши - запускает один сайт (ссылку),
а если нажата средняя кнопка по дольше - другой сайт запускает
- Code: Select all
<%
: CharReplace \ ( a u char1 char2 -- a u ) \ Заменить в строке символ 1 на символ 2 и оставить строку на стеке
2OVER OVER + SWAP DO \ a u char1 char2
OVER I C@ = IF DUP I C! THEN
LOOP
2DROP
;
: single-key? \ ( vk -- ? )
-1 10 0 DO \ Время ожидания - секунда
OVER KEY-PRESSED? AND
100 PAUSE
LOOP
NIP NOT
;
WINAPI: WindowFromPoint user32.dll
: WIN-FROM-POINT \ ( -- hwnd )
MOUSE-POS SWAP WindowFromPoint
;
\ ### Возвращает текст окна по его хэндлу ( hwnd -- a u ) -- для дочерних окон ###
: GET-WTEXT PAD 256 ROT 13 SWAP SendMessageA PAD SWAP ;
%>
#( Задача_2336240510
\ WatchHotKey: "$1"
SingleInstance
: браузер S" firefox.exe -new-tab " ; \ Пробел в конце строки обязателен
: поисковик1 S" http://www.discogs.com/search?q=" ;
: поисковик2 S" http://rutracker.org/forum/tracker.php?nm=" ;
: регексп S" /(\d*\s\-\s)([^-]*)(\s*\-\s)([^-]*)(\s*\-\s)([^-]*)(\s*\-.*)/" ;
CREATE string_buf 256 ALLOT \ Создаем буфер для строки
: string_buf_init
string_buf 256 ERASE \ Очищаем буфер (для профилактики)
браузер string_buf PLACE \ Записываем в буфер путь к браузеру
QUOTE string_buf +PLACE \ Добавляем кавычку
WIN-FROM-POINT GET-WTEXT S" Winamp Playlist Editor" COMPARE
IF поисковик1 ELSE поисковик2 THEN
string_buf +PLACE \ И поисковик
;
Action:
BEGIN \ Начало цикла
VK_MBUTTON KEY-PRESSED? \ ? \ Средняя кнопка нажата?
IF
S" *Winamp*" WIN-ACTIVE? \ ? \ Окно винампа активно?
IF
VK_MBUTTON single-key? \ ?1 \ Один раз нажата средняя кнопка?
S" @(d)" SEND-KEYS \ ?1 \ Хоткей копирования строки в буфер
\ Alt( [CHAR] d )Alt \ Тот же хоткей при использовании плагина SendInput
CLIPBOARD регексп RE-MATCH \ ?1 ?2 \ Сравниваем строку с регулярным выражением, группируем части строки в паттерны
IF \ ?1
IF $2 ELSE $4 THEN \ А теперь проверяем флаг нажатия кнопки
string_buf_init
[CHAR] & BL CharReplace \ В найденной регулярным выражением строке заменяем & на пробелы
string_buf +PLACE
QUOTE string_buf +PLACE
string_buf COUNT
START-APP \ запуск браузера
ELSE \ ?1
DROP
THEN
2000 PAUSE
THEN
THEN
100 PAUSE \ 10 раз в секунду
AGAIN \ Безусловный возврат к началу цикла
)#
<% Задача_2336240510 LAUNCH %> \ И сразу запускаем задачу