VoidVolker, в чём тогда разница с QUIT? Если QUIT без ошибок завершает задачу внутри конструкций FOR-*, тогда ведь можно его и использовать без создания флаговой переменной.
» nnCron
http://www.nncron.ru/help/RU/working/tools_console.htm#RemoteConsole
Цитата:
Вот определение слова QUIT:
Код: : QUIT ( -- ) ( R: i*x ) \ CORE 94
\ Сбросить стек возвратов, записать ноль в SOURCE-ID.
\ Установить стандартный входной поток и состояние интерпретации.
\ Не выводить сообщений. Повторять следующее:
\ - Принять строку из входного потока во входной буфер, обнулить >IN
\ и интепретировать.
\ - Вывести зависящее от реализации системное приглашение, если
\ система находится в состоянии интерпретации, все процессы завершены,
\ и нет неоднозначных ситуаций.
BEGIN
CONSOLE-HANDLES
0 TO SOURCE-ID
[COMPILE] [
['] MAIN1 CATCH
['] ERROR CATCH DROP
( S0 @ SP! R0 @ RP! \ стеки не сбрасываем, т.к. это за нас делает CATCH
AGAIN
;
Цитата:
Управлять отображением консоли можно и программно. Слова:
CONSOLE - создает консольное окошко
START-QUIT - запускает слово QUIT в отдельном thread'e
QUIT - если консоль уже открыта
Вот определение слова QUIT:
Код: : QUIT ( -- ) ( R: i*x ) \ CORE 94
\ Сбросить стек возвратов, записать ноль в SOURCE-ID.
\ Установить стандартный входной поток и состояние интерпретации.
\ Не выводить сообщений. Повторять следующее:
\ - Принять строку из входного потока во входной буфер, обнулить >IN
\ и интепретировать.
\ - Вывести зависящее от реализации системное приглашение, если
\ система находится в состоянии интерпретации, все процессы завершены,
\ и нет неоднозначных ситуаций.
BEGIN
CONSOLE-HANDLES
0 TO SOURCE-ID
[COMPILE] [
['] MAIN1 CATCH
['] ERROR CATCH DROP
( S0 @ SP! R0 @ RP! \ стеки не сбрасываем, т.к. это за нас делает CATCH
AGAIN
;
VoidVolker, мне знаний не хватает, чтобы это понять). Ладно, может потом разберусь...
brRamires
QUIT - это не выход из задачи. Для выхода из задачи/слова есть EXIT - его и нужно применять. Для выхода из LOOP циклов - LEAVE или UNLOOP для очистки временных данных цикла.
QUIT - это не выход из задачи. Для выхода из задачи/слова есть EXIT - его и нужно применять. Для выхода из LOOP циклов - LEAVE или UNLOOP для очистки временных данных цикла.
Странно, что для слова WatchQueryShutdown есть INTERCEPT-SHUTDOWN и CONTINUE-SHUTDOWN, а для WatchQuerySuspend аналогов нет. Тогда не понятно его отличие от WatchSuspend.
Цитата:
WatchQuerySuspend аналогов нет. Тогда не понятно его отличие от WatchSuspend.
http://www.nncron.ru/help/RU/commands/watch.htm#WatchQuerySuspend
http://www.nncron.ru/help/RU/commands/watch.htm#WatchShutdown
Опрос перед событием и сам факт события.
А прервать как-нибудь можно погружение в сон или гибернацию?
А зачем их прерывать? Какова задача в целом?
Хотел перед гибернацией вывести сообщение, сколько времени компьютер был включён, но его невозможно прочитать: экран сразу отключается. Ещё есть идея - перед гибернацией автоматически закрывать браузер, чтобы на диск меньше писать, а после выхода - вновь запускать. Видимо Windows не поддерживает прерывание режимов Suspend, иначе это было бы и в nnCron...
Цитата:
Ещё есть идея - перед гибернацией автоматически закрывать браузер, чтобы на диск меньше писать, а после выхода - вновь запускать.
А смысл? Ускорить?
Цитата:
Видимо Windows не поддерживает прерывание режимов Suspend, иначе это было бы и в nnCron...
Какая именно версия ОС?
Цитата:
А смысл? Ускорить?
Чтобы диск не гонять зазря. У меня в Firefox много вкладок + после просмотра YouTube роликов потребляется куча памяти. Не хочется на диск лишнее скидывать.
Цитата:
Какая именно версия ОС?
8.1 x32.
Цитата:
Чтобы диск не гонять зазря. У меня в Firefox много вкладок + после просмотра YouTube роликов потребляется куча памяти. Не хочется на диск лишнее скидывать.
Эмм... На фоне постоянной работы с диском ОС и других приложений - это капля в море. Так что пользы от этого никакой.
Всем доброго здоровья!
Есть два варианта одной задачи:
Первый
Код:
NoLog
Time: */5 * * * * *
Action:
WIN-CLICK: "*Explorer*" "Кнопка"
Есть два варианта одной задачи:
Первый
Код:
NoLog
Time: */5 * * * * *
Action:
WIN-CLICK: "*Explorer*" "Кнопка"
VoidVolker
Цитата:
Дело даже не в конкретной задаче, а в том, что в принципе нет такой возможности... Ну да ладно, лично мне это не столь важно, просто как идея.
sundraw
Может, клик посылается не тому окну, т.к. паттерн "*Explorer*" слишком общий? И что за ошибки возникают?
Цитата:
Эмм... На фоне постоянной работы с диском ОС и других приложений - это капля в море. Так что пользы от этого никакой.
Дело даже не в конкретной задаче, а в том, что в принципе нет такой возможности... Ну да ладно, лично мне это не столь важно, просто как идея.
sundraw
Может, клик посылается не тому окну, т.к. паттерн "*Explorer*" слишком общий? И что за ошибки возникают?
sundraw
Вообще, команда вида WIN-CLICK: "*Explorer*" "Кнопка" не должна вызывать падение nnCron. Нужно больше сведений:
- версия nnCron и Windows
- nnCron запущен как приложение или сервис?
- можно весь текст задачи?
Вообще, команда вида WIN-CLICK: "*Explorer*" "Кнопка" не должна вызывать падение nnCron. Нужно больше сведений:
- версия nnCron и Windows
- nnCron запущен как приложение или сервис?
- можно весь текст задачи?
brRamires
Цитата:
Версия: nncron v1.93b10 Build 1141
WinXP SP3
Запущен как приложение, непотопляемый режим.
Весь текст задачи такой же:
Код:
#( Клик5мин
NoLog
Time: */5 * * * * *
Action:
WIN-CLICK: "*Explorer*" "Кнопка"
)#
Цитата:
sundraw
Вообще, команда вида WIN-CLICK: "*Explorer*" "Кнопка" не должна вызывать падение nnCron. Нужно больше сведений:
- версия nnCron и Windows
- nnCron запущен как приложение или сервис?
- можно весь текст задачи?
Версия: nncron v1.93b10 Build 1141
WinXP SP3
Запущен как приложение, непотопляемый режим.
Весь текст задачи такой же:
Код:
#( Клик5мин
NoLog
Time: */5 * * * * *
Action:
WIN-CLICK: "*Explorer*" "Кнопка"
)#
brRamires
Спасибо за совет. Выбирал версию по скорости выполнения задач. Приглянулась, которая стоит, nncron v1.93b10 Build 1141. Попробую с новой nnCron 1.93b13 Build 1172 18.03.2013 Может, действительно, проблема исчезнет.
За ссылку тоже спасибо
Спасибо за совет. Выбирал версию по скорости выполнения задач. Приглянулась, которая стоит, nncron v1.93b10 Build 1141. Попробую с новой nnCron 1.93b13 Build 1172 18.03.2013 Может, действительно, проблема исчезнет.
За ссылку тоже спасибо
Цитата:
Дело даже не в конкретной задаче, а в том, что в принципе нет такой возможности... Ну да ладно, лично мне это не столь важно, просто как идея.
Ну вообще-то это не совсем так. В десятке и в 2016 сервер перехват экрана загрузки ОС (логон скрин), экрана блокировки, перезагрузки, сна, выхода из системы, выключения ПК перехватывается очень простым приложением (запускает другое приложение с передачей командной строки), одним ключом реестра и копированием одного файла. В восьмерке это не работает (нужно боле глубокое исследование). В семерке пока точно знаю как перехватывать логон, но в восьмерке то же самое тоже не работает, остальное не исследовал.
brRamires
Как вариант создать задачу: сообщение, закрытие браузера, гибернация. Повесить на хоткей.
Как вариант создать задачу: сообщение, закрытие браузера, гибернация. Повесить на хоткей.
Цитата:
Спасибо за совет. Выбирал версию по скорости выполнения задач.
Эмм... Скорость выполнения задач от версии ннкрона не зависит.
VoidVolker
Я не совсем правильно выразился. Не скорость выполнения задач, а скорость загрузки самого nncron.
Поставил nnCron 1.93b15, при старте системы в одинаковых условиях запускается в 2-3 раза дольше по сравнению с nncron v1.93b10 Build 1141. Учитывая, что в процессе работы он периодически перезагружается, потеря совокупного времени будет весьма ощутимой. Поэтому остался на более скоростной v1.93b10. Тогда скрипт придётся оставить с кликом по координатам.
Я не совсем правильно выразился. Не скорость выполнения задач, а скорость загрузки самого nncron.
Поставил nnCron 1.93b15, при старте системы в одинаковых условиях запускается в 2-3 раза дольше по сравнению с nncron v1.93b10 Build 1141. Учитывая, что в процессе работы он периодически перезагружается, потеря совокупного времени будет весьма ощутимой. Поэтому остался на более скоростной v1.93b10. Тогда скрипт придётся оставить с кликом по координатам.
Цитата:
Поставил nnCron 1.93b15, при старте системы в одинаковых условиях запускается в 2-3 раза дольше по сравнению с nncron v1.93b10 Build 1141. Учитывая, что в процессе работы он периодически перезагружается, потеря совокупного времени будет весьма ощутимой. Поэтому остался на более скоростной v1.93b10. Тогда скрипт придётся оставить с кликом по координатам.
Вообще, это странно, как-то не замечал. У меня кронтабы на 5к строк и ннкрон стартует за секунду-две, при этом 5,5к слов в словаре. Кроме того, в шестой бета-версии была ускорена интерпретация многократно за счет использования хэшированного списка слов, а не простого перебора.
В любом случае, чтобы были заметные глазу лаги при старте - это надо либо иметь очень медленный комп, либо очень большой кронтаб, либо какие-то циклы или долгие операции во время загрузки кронтаба в пользовательском коде.
В начале кронтаба:
Код: <%
GetTickCount VALUE LoadStart
%>
Цитата:
В восьмерке это не работает (нужно боле глубокое исследование). В семерке пока точно знаю как перехватывать логон, но в восьмерке то же самое тоже не работает, остальное не исследовал.
Поэтому нет смысла вводить в программу функции, которые не будут гарантированно работать.
Цитата:
Как вариант создать задачу: сообщение, закрытие браузера, гибернация. Повесить на хоткей.
Пожалуй, так и сделаю.
Цитата:
Поставил nnCron 1.93b15, при старте системы в одинаковых условиях запускается в 2-3 раза дольше по сравнению с nncron v1.93b10 Build 1141.
Может это от ОС зависит? Только что на Win 8.1 x32 провёл эксперимент: запускал beta 10 и beta 15 как приложения с одинаковой конфигурацией: иконки в трее появляются за ~2.5 сек в обоих случаях.
Цитата:
Цитата:
Поставил nnCron 1.93b15, при старте системы в одинаковых условиях запускается в 2-3 раза дольше по сравнению с nncron v1.93b10 Build 1141.
Может это от ОС зависит? Только что на Win 8.1 x32 провёл эксперимент: запускал beta 10 и beta 15 как приложения с одинаковой конфигурацией: иконки в трее появляются за ~2.5 сек в обоих случаях.
Тогда, вероятнее всего, nncron v1.93b10 Build 1141 берёт меньше ресурса на запуск, чем nnCron 1.93b15. При больших ресурсах железа это незаметно. У меня стоят WinXP на ФС FAT 16 в виртуалках, оперативной памяти 96 мб на машину. При запуске после появления рабочего стола nncron v1.93b10 Build 1141 срабатывает через 5-10 сек, nnCron 1.93b15 через 15-25 сек. Можно конечно увеличить оперативку, но не выгодно. Поэтому в моём случае удобнее nncron v1.93b10.
Выставил в задаче клики по координатам
Код:
NoLog
Time: */5 * * * * *
Rule: WIN-EXIST: "*Explorer*"
Action:
MOUSE-MOVE: 605 45
MOUSE-LBCLK
Цитата:
Поэтому нет смысла вводить в программу функции, которые не будут гарантированно работать.
Само собой такое и не планировалось. Одна из главных фич ннкрона - в высокой стабильности "ядра" и широких возможностях его расширения и добавлении функционала за счет плагинов.
Добавлено:
Цитата:
Тогда, вероятнее всего, nncron v1.93b10 Build 1141 берёт меньше ресурса на запуск, чем nnCron 1.93b15.
В этих бетах разница минимальна :
Цитата:
beta 15 (2016-02-08)
* SEARCH bug fixed (65535 bytes text length limitation).
beta 14 (2016-02-03)
* SHEADER, SCREATE, SET bug fixed.
beta 13 (2013-03-16)
+ if nncron installation directory contains file "portable", this directory is working directory on any mode of nnCron execution;
+ it's not need to specify -ns at startup nncron "as application", and -dir, if you expect the default directory.
beta 12 (2013-03-13)
* bug fixes two concurrent reminders;
+ PLACE0;
* DAYS bug fixed;
+ JDAYS ( y m d -- julian_days );
* install as application bug fixed;
* some bug fixed.
Можно ли протестировать со всеми бетами и сделать это более точно? Код выше приведен.
VoidVolker
Цитата:
Попробую.
Цитата:
Можно ли протестировать со всеми бетами и сделать это более точно? Код выше приведен.
Попробую.
VoidVolker
Цитата:
Куда бы ни поставил коды в nncron.tab, ннкрон выдаёт ошибку синтаксиса. Кронтаб один. В конце понятно, второй код поставил после последней задачи. А где ставить первый? В самом начале перед
#CRONTAB FILE
не идёт.
Перед первой задачей
#( purge-cron-log
также выдаёт ошибку.
Цитата:
В начале кронтаба:
Код:
<%
GetTickCount VALUE LoadStart
%>
В конце кронтаба, если один, или в конце последнего подключенного, если кронтабов больше одного:
Код:
<%
GetTickCount LoadStart - .( Crontabs load time: ) . CR
%>
Куда бы ни поставил коды в nncron.tab, ннкрон выдаёт ошибку синтаксиса. Кронтаб один. В конце понятно, второй код поставил после последней задачи. А где ставить первый? В самом начале перед
#CRONTAB FILE
не идёт.
Перед первой задачей
#( purge-cron-log
также выдаёт ошибку.
И какую ошибку выдает? Код был вставлен между словами <% и %>?
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
Предыдущая тема: Autodesk AutoCAD
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.