Вопрос - Ответ

Обсуждение программ nnCron и nnCron LITE

Re: Вопрос - Ответ

Postby VoidVolker » Wed, 10 Mar 2010, 10:32

prouser wrote: в стек кладутся нетиповые значения, а тип указывается при считывании (по умолчанию строки, ок).

Не так. На стек всегда кладутся числа - потому что процессор работает с числами, а не с абстракциями. Строка в форте обычно представляется адресом(в памяти) первого символа и длиной строки. По-сути типизации как таковой нет(точнее привычно для мейнстримовых ЯП): на стеке всегда числа, а вот что с ними делать и как их интерпретировать - определяет программист. Для понимания форта необходимо забыть классические ЯП. А вообще, рекомендую к изучению книги Лео Броуди - Starting Forth и Thinking Forth, затем можно почитать книгу Баранова и Ноздрунова и вот здесь еще немного литературы.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2938
Joined: Tue, 25 Apr 2006, 17:56

Re: Вопрос - Ответ

Postby chuk » Mon, 15 Mar 2010, 14:25

Есть такая задачка (спасибо VoidVolker за нее)
Code: Select all
<%
: CUR-POS!
  MOUSE-POS ROT 2! ;
: CUR-MOVE
  2@ MOUSE-MOVE ;
: XY-CLIK
  CUR-MOVE MOUSE-LBCLK ;

2VARIABLE XYCELL1
2VARIABLE XYCELL2
%>

#( 1_CUR!
WatchHotKey: "^1"  \ Ctrl+1
Action:
XYCELL1 CUR-POS!
PAUSE:   3000
XYCELL2 CUR-POS!
)#

#( 1_CUR-MOVE
WatchHotKey: "@1"  \ Alt+1
Action:
XYCELL1 CUR-MOVE
PAUSE:   300
XYCELL2 CUR-MOVE
)#


1) подскажите как сделать, что бы вместо XYCELL CUR-POS! запоминался клик правой клавишей мыши. то есть по Ctrl+1 запоминаем координаты двух правых кликов мыши.
2) соответсвенно вместо XYCELL CUR-MOVE воспроизведение этих двух кликов, но со словом RANDOM соответственно +100 (x) +150 (y)
Спасибо.
chuk
 
Posts: 65
Joined: Tue, 18 Sep 2007, 13:59

Re: Вопрос - Ответ

Postby VoidVolker » Mon, 15 Mar 2010, 15:41

Если я правильно понял вопрос, надо заменить левый клик правым? Тогда просто заменить MOUSE-LBCLK на MOUSE-RBCLK.
Переместить курсор с разбросом в некотором диапазоне можно так:
Code: Select all
: XY-CLIK
  SWAP 100 RANDOM + SWAP 150 RANDOM +
  CUR-MOVE MOUSE-LBCLK ;
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2938
Joined: Tue, 25 Apr 2006, 17:56

Re: Вопрос - Ответ

Postby chuk » Mon, 15 Mar 2010, 17:04

VoidVolker wrote:Если я правильно понял вопрос, надо заменить левый клик правым? Тогда просто заменить MOUSE-LBCLK на MOUSE-RBCLK.
Переместить курсор с разбросом в некотором диапазоне можно так:
Code: Select all
: XY-CLIK
  SWAP 100 RANDOM + SWAP 150 RANDOM +
  CUR-MOVE MOUSE-LBCLK ;

В моем примере по Ctrl+1 происходит запоминание координат курсора мыши 1 точки и спустя 3 сек второй. а нужно что бы после Ctrl+1 происходило запоминание, первого и второго клика правой мыши именно Клика и неважно через какой промежуток времени 3 секунды или час.
По разбросу в диапазоне спасибо!
chuk
 
Posts: 65
Joined: Tue, 18 Sep 2007, 13:59

Re: Вопрос - Ответ

Postby VoidVolker » Mon, 15 Mar 2010, 19:19

Code: Select all
: KEY-WAIT   \ ( vk -- )
  BEGIN
    DUP KEY-PRESSED?
    25 PAUSE
  UNTIL DROP
;

Далее вот так можно ждать нажатия кнопки:
Code: Select all
VK_RBUTTON KEY-WAIT
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2938
Joined: Tue, 25 Apr 2006, 17:56

Re: Вопрос - Ответ

Postby chuk » Tue, 16 Mar 2010, 10:09

Ув.VoidVolker если не сложно напишите пожалуйста как должна выглядеть задача целиком, ибо то что я составляю либо не работает, либо ошибка выскакивает.
Большое спасибо что помогаете.
chuk
 
Posts: 65
Joined: Tue, 18 Sep 2007, 13:59

Re: Вопрос - Ответ

Postby VoidVolker » Tue, 16 Mar 2010, 15:07

Code: Select all
<%
: CUR-POS!   \ ( 2var x y -- )
  MOUSE-POS ROT 2! ;
: XY-CLIK   \ ( 2var -- )
  2@
  SWAP 100 RANDOM + SWAP 150 RANDOM +
  MOUSE-MOVE MOUSE-LBCLK ;

: WAIT-KUP ( VK -- )  \ Ждать поднятия кнопки с кодом VK
  BEGIN DUP KEY-PRESSED? WHILE
  50 PAUSE
  REPEAT DROP ;

: KEY-WAIT   \ ( vk -- )
  BEGIN
    DUP KEY-PRESSED?
    25 PAUSE
  UNTIL
  WAIT-KUP
;

2VARIABLE XYCELL1
2VARIABLE XYCELL2
%>

#( 1_CUR!
WatchHotKey: "^1"  \ Ctrl+1
Action:
VK_RBUTTON KEY-WAIT
XYCELL1 CUR-POS!
VK_RBUTTON KEY-WAIT
XYCELL2 CUR-POS!
)#

#( 1_CUR-MOVE
WatchHotKey: "@1"  \ Alt+1
Action:
XYCELL1 XY-CLIK
PAUSE:   300
XYCELL2 XY-CLIK
)#
Last edited by VoidVolker on Tue, 16 Mar 2010, 17:29, edited 3 times in total.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2938
Joined: Tue, 25 Apr 2006, 17:56

Re: Вопрос - Ответ

Postby chuk » Tue, 16 Mar 2010, 16:57

Конструкция
Code: Select all
: XY-CLIK
  SWAP 100 RANDOM + SWAP 150 RANDOM +
  CUR-MOVE MOUSE-LBCLK ;

почему то не работает, все время норовит выскочить куда угодно за предел экрана даже если цифры установить в 1, в моей первоначальной задаче эта конструкция тоже не работает, что с ней что без нее одинаково :(

Без
Code: Select all
SWAP 100 RANDOM + SWAP 150 RANDOM +
задача работает наполовину , то есть отлавливает и воспроизводит (два раза) только первую точку(клик)
chuk
 
Posts: 65
Joined: Tue, 18 Sep 2007, 13:59

Re: Вопрос - Ответ

Postby VoidVolker » Tue, 16 Mar 2010, 17:29

Пардон, ошибочка вкралась - исправил.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2938
Joined: Tue, 25 Apr 2006, 17:56

Re: Вопрос - Ответ

Postby chuk » Tue, 16 Mar 2010, 17:46

VoidVolker
спасибо огроменное все заработало как нужно! :prayer:
chuk
 
Posts: 65
Joined: Tue, 18 Sep 2007, 13:59

Re: Вопрос - Ответ

Postby amor » Wed, 17 Mar 2010, 18:02

Подскажите пожалуйста, как в nnCron можно в реальном времени получать/мониторить
интернетовскую информацию - все адреса и собственно сами файлы(страницы, картинки и тд.),
которые плучает юзер? (или вообще все данные которые проходят по сети)

XPsp3,
браузер - IE, Maxthon, ...
amor
 
Posts: 1
Joined: Wed, 17 Mar 2010, 17:31

Re: Вопрос - Ответ

Postby Fire5ly » Mon, 22 Mar 2010, 15:37

доброго часаса, всем, помгите, я устал биться уже неделю угробил в этом новом для себя помошнике, проблема следующая, что для одного приложения я сделал дополнительные хот кеи, повесив их на функц.клавиши F1-F6
и по ним срабатывает кликанье мышкой по кнопкам, чтобы это не происходило в других приложениях, поставил проверку активного окна, но при запущенном nncron функционирование клавиш F1-F6 пропадает, проблема подозреваю в том что nncron выгребает код клавиши.
вот код для клавиши F1:
Code: Select all
#( TI-slot-1
WatchHotKey: "{0x70}"
Rule: PROC-EXIST: "programulka"
Action:
MOUSE-MOVE: 800 365
MOUSE-LBCLK
MOUSE-LBCLK
)#

А проблема в том, что например в тотал коммандер перестают работать клавишные команды F5 "копировать"

пробывал делать вот так:
Code: Select all
#( TI-slot-1
WatchHotKey: "{0x70}"
Action:
PROC-EXIST: "programulka"
IF
AMOUSE-MOVE: 800 365
MOUSE-LBCLK
MOUSE-LBCLK
ELSE
WIN-SEND-KEYS: "%ACTIVE-WINDOW%" "{0x70}"
THEN
)#

не помогает, ни одна программа не воспринимает нажатие клавиши что не так? (((
Fire5ly
 
Posts: 2
Joined: Sat, 20 Mar 2010, 23:58

Re: Вопрос - Ответ

Postby VoidVolker » Mon, 22 Mar 2010, 15:59

Возможно стоит обновить ннкрон на более свежую версию или до беты последней.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2938
Joined: Tue, 25 Apr 2006, 17:56

Re: Вопрос - Ответ

Postby Fire5ly » Mon, 22 Mar 2010, 16:55

VoidVolker wrote:Возможно стоит обновить ннкрон на более свежую версию или до беты последней.

это мне? :roll:
если да то версия крона v 1.93b10 Build 1141
Fire5ly
 
Posts: 2
Joined: Sat, 20 Mar 2010, 23:58

Re: Вопрос - Ответ

Postby VoidVolker » Mon, 22 Mar 2010, 18:21

У меня таких глюков не наблюдается(б10, вин хп)), а в правиле проверяется активное окно. Вполне возможно указанный процесс выполняется где-то фоном или есть еще один с таким же именем.
Code: Select all
#( Хелп_в_консоли
WatchHotKey: "{F1}"
Rule: S" nnCron console*" WIN-ACTIVE? ;
Action:
S" WORDS-LIKE " AKEYS
)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2938
Joined: Tue, 25 Apr 2006, 17:56

PreviousNext

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 2 guests