Ru-Board.club
← Вернуться в раздел «Программы»

» nnCron

Автор: iamgdv
Дата сообщения: 05.11.2010 03:33
"создай еще одну задачу" -- да эт то понятно, но неинтересно
"лучше сделай проверку пинга" - а это к чему???
Автор: emfs
Дата сообщения: 05.11.2010 04:04
iamgdv
это совет к твоему вопросу
Автор: iamgdv
Дата сообщения: 05.11.2010 12:49
простите за тупость, но я не пойму, причем здесь проверка пинга...........
Автор: niask
Дата сообщения: 05.11.2010 12:52
iamgdv
пингуется какой-нибудь крупный сайт - соединение с инетом есть, не пингуется - нет соединения => выполнить подключение.
Автор: iamgdv
Дата сообщения: 05.11.2010 16:53
iamgdv
пингуется какой-нибудь крупный сайт - соединение с инетом есть, не пингуется - нет соединения => выполнить подключение.

это можно сделать обычной проверкой наличия соединения: ONLINE: "MyConnection" 0=
мне требуется чтобы соед-ие устанавливалось при загрузке с-мы И после восстановления их спящего режима
Автор: emfs
Дата сообщения: 05.11.2010 17:03
iamgdv

т.е. длительность соединения может быть любой, даже всего 1с?
Автор: lucky_Luk
Дата сообщения: 05.11.2010 21:18
Как сделать чтобы nnCron проверял, на какой язык в данный момент переключена клавиатура?
Автор: xChe
Дата сообщения: 05.11.2010 21:51
lucky_Luk
Для этого есть плагин kbd_layout.spf
Автор: iamgdv
Дата сообщения: 06.11.2010 21:43

Цитата:
т.е. длительность соединения может быть любой, даже всего 1с?

вообще роли не играет.......
ещё раз:

Цитата:
мне требуется чтобы соед-ие устанавливалось при загрузке с-мы И после восстановления из спящего режима


Автор: emfs
Дата сообщения: 07.11.2010 06:46
iamgdv
ну и чем тебе мой совет не подходит?
Автор: iamgdv
Дата сообщения: 08.11.2010 21:15

Цитата:
iamgdv ну и чем тебе мой совет не подходит?

речь о проверке пинга? а чем он может подходить?
вопрос был, как объединить: Time: START-TIME и WatchResume, чтобы они одновременно работали
Автор: older
Дата сообщения: 09.11.2010 13:48
iamgdv
emfs имеет ввиду, что тебе, возможно, вообще не нужны ни
Цитата:
Time: START-TIME и WatchResume

он предлагает от них отказаться и единственным правилом поставить отсутствие пинга на какой либо сайт в интернете
правда тогда задача будет срабатывать ВСЕГДА, а не только при Time: START-TIME и WatchResume
но, возможно, что именно это тебе и нужно
Автор: LaboArt
Дата сообщения: 11.11.2010 11:51
подскажите как сделать, отмену некоторых задач nncrone по нажатию некоторых HotKey? а также постоянное выключение ноута ежедневно с 24:00 по 8:00 утра? ребенку запретить надо
Автор: lucky_Luk
Дата сообщения: 11.11.2010 14:07
LaboArt


Цитата:
а также постоянное выключение ноута ежедневно с 24:00 по 8:00 утра? ребенку запретить надо

Как ты это себе представляешь, ребенок в это время включает ноут, а он выключается?
Автор: niask
Дата сообщения: 11.11.2010 14:26
LaboArt

Цитата:
подскажите как сделать, отмену некоторых задач nncrone по нажатию некоторых HotKey?

я вообще не понял что имеется ввиду

Цитата:
а также постоянное выключение ноута ежедневно с 24:00 по 8:00 утра? ребенку запретить надо

забирать ноутбук на ночь. а вообще вроде есть какие-то проги-локеры, которые позволяют работать только в определённое время. но это явно не nncron
Автор: AlikasS
Дата сообщения: 13.11.2010 04:57
LaboArt
Цитата:
подскажите как сделать, отмену некоторых задач nncrone по нажатию некоторых HotKey?

по WatchHotKey: "$9" (WIN + 9) задачей task2 грохаем задачу task1, если она выполняется и делаем ее неактивной

Код: #( task1
VARIABLE t1-id
Action:
GetCurrentThreadId t1-id !
\ что-то долго делаем
)#
#( task2
WatchHotKey: "$9" \ 'WIN + 9'
WINAPI: OpenThread KERNEL32.DLL
Action:
t1-id @ ?DUP
IF
0 1 OpenThread ?DUP
IF STOP THEN
THEN
task1 @ CF-ACTIVE CLR-CRON-FLAG
)#
Автор: AndreyAgrh
Дата сообщения: 17.11.2010 11:50
Подскажите, пожалуйста, что не верно!!! Указывает на ошибку в 3-й строке!! причем аналогично не воспринимает не переменные, не VALUE-переменные ..
#( BQOD
NoActive
"C:\data\dump\%CUR-DATE DATE>S%" CONSTANT DatePath
Action:
ShowNormal NormalPriority
DIR-CREATE: DatePath
)#
Автор: DJ makrus
Дата сообщения: 21.11.2010 17:30
AndreyAgrh
Цитата:
Подскажите, пожалуйста, что не верно!!!
Ну почти все что делал сам
1.
Цитата:
"C:\data\dump\%CUR-DATE DATE>S%"
откуда такой вариант создания строки? В Help'е упоминаются три варианта создания строки для трех разных типов строк:
- S" ..."
- Z" ..."
- C" ..."
но никак не просто набор символов между двумя кавычками

2. CONSTANT
Цитата:
Иногда бывает необходимо создать переменную, чье числовое значение не должно меняться в процессе дальнейшей работы. Такие переменные называются константами.

Для создания константы используйте специальное слово CONSTANT:
Это цитата из Help'а, и там же сразу после примера использования констант рассказывается про массивы:
Цитата:
Массив - это специальная структура, которая позволяет хранить множество значений под одним именем. Одно из традиционных применений массивов в nnCron - это промежуточное хранение символьных строк.
, т.е. тебе и надо было воспользоваться массивом, как? Там дальше есть пример.

3. Внутри строки ты используешь то что описано в разделе Help'а "
Цитата:
Пpавильно ли я понял, что пpи описании стpоки (внутpи кавычек) можно поставить паpу "%%" и внутpи оных писать последовательность Forth-слов?
" и там же далее "
Цитата:
Обратите внимание, что при использовании %...% внутри постфиксной строки вам придется самостоятельно "разворачивать" содержимое %...% с помощью слова EVAL-SUBST.
" ты этого не сделал.

4. Наконец в том же Help'е для создания каталога используется слово DIR-CREATE: "path" - путь заключен в кавычки.


Подведя итог - все необходимое что бы твоя задача заработала и не выдавала ошибку в 3-ей строке в Help'е имеется. Так что пробуй..., если лень, нет времени и т.д. и т.п., то попробуй вот такой вариант, тоже должен работать без ошибок:
Код: #( BQOD
NoActive
: DatePath ( -- a u ) S" C:\data\dump\" CUR-DATE DATE>S S+ ;
Action:
DatePath DIR-CREATE
)#
Автор: AlikasS
Дата сообщения: 23.11.2010 02:25
AndreyAgrh
Цитата:
Подскажите, пожалуйста, что не верно!!! Указывает на ошибку в 3-й строке!! причем аналогично не воспринимает не переменные, не VALUE-переменные ..
#( BQOD
NoActive
"C:\data\dump\%CUR-DATE DATE>S%" CONSTANT DatePath
Action:
ShowNormal NormalPriority
DIR-CREATE: DatePath
)#

можно просто

Код: #( BQOD
NoActive
Action:
DIR-CREATE: "C:\data\dump\%CUR-DATE DATE>S%"
)#
Автор: AndreyAgrh
Дата сообщения: 23.11.2010 21:06
AlikasS, DJ makrus
спасибо за ответs.
Хочется вынести это в отдельную переменную, так как подобных путей много и каждый из них будет встречаться не один раз.
Про варианты создания строк на тот момент еще просто не дочитал.. и несколько странно, что их можно создавать только как массивы.

Автор: AlikasS
Дата сообщения: 24.11.2010 01:39
AndreyAgrh

Цитата:
Хочется вынести это в отдельную переменную, так как подобных путей много и каждый из них будет встречаться не один раз.
Про варианты создания строк на тот момент еще просто не дочитал.. и несколько странно, что их можно создавать только как массивы.

помимо прописанных в хелпе способов
можно делать как показал DJ makrus ,
т.е. например

Код: \ создание
: list-for-ping S" 192.168.0.201" ;
\ использование
list-for-ping ( здесь на стеке записанная строка ) MsgBox
Автор: AndreyAgrh
Дата сообщения: 24.11.2010 08:12
AlikasS
А не подскажешь по поводу работы с сетевыми папками?

#( Backup_3CARD
RunOnce
NoDel
User: "user2" SecPassword: "TIF1RIF=" Domain: "basedmn" LogonInteractive \ LogonNetwork также не помогает.
Action:
SWHide NormalPriority
S" C:\Program Files\WinRAR\rar a -s \\EControl\Archive\%CUR-DATE DATE>S%\%3CARDDistr COUNT% %3CARDPath COUNT%" EVAL-SUBST START-APPW
)#

Смысл в том, что пытаюсь копировать файл от имени другого пользователя. Если текущему пользователю, под которым залогинен доступ к сетевой папке запрещен, то и скопировать от имени другого пользователя тоже не удается, несмотря на то, то доступ у него уже открыт.
Автор: AlikasS
Дата сообщения: 24.11.2010 15:54
AndreyAgrh

Цитата:
S" C:\Program Files\WinRAR\rar a -s \\EControl\Archive\%CUR-DATE DATE>S%\%3CARDDistr COUNT% %3CARDPath COUNT%" EVAL-SUBST START-APPW

попробуй в командной строке изменить

Код: S" C:\Program Files\WinRAR\rar a arhiv.rar -s %QUOTE%\\EControl\Archive\%CUR-DATE DATE>S%\%3CARDDistr COUNT%%QUOTE% %QUOTE%%3CARDPath COUNT%%QUOTE%" EVAL-SUBST START-APPW
Автор: AndreyAgrh
Дата сообщения: 25.11.2010 07:47
AlikasS
командная строка верно работает от пользователя под которым сейчас работаю, если от него есть доступ к ресурсу. то есть захожу под "user1" и если к \\\\EControl\Archive у него есть доступ, то там создается архив.
Если у пользователя User1 нет прав, а у User2 права есть, то когда я пишу в скрипте "user2" SecPassword: "TIF1RIF=" Domain: "basedmn" LogonInteractive " нельзя создать архив!!
Фактически эта строка абсолютно не влияет на работу скрипта. Вопрос в том, почему!


Добавлено:
Еще подскажите, пожалуйста, как перенести выполнение задачи с скажем выходных дней на след. понедельник. Т.е задача должна запускаться каждое 1-е число месяца, но если 1-е выпадает на выходные дни или праздничные дни, то перенести ее выполнение на понедельник.
Автор: AlikasS
Дата сообщения: 25.11.2010 16:45
AndreyAgrh
Цитата:
командная строка верно работает от пользователя под которым сейчас работаю, если от него есть доступ к ресурсу. то есть захожу под "user1" и если к \\\\EControl\Archive у него есть доступ, то там создается архив.
Если у пользователя User1 нет прав, а у User2 права есть, то когда я пишу в скрипте "user2" SecPassword: "TIF1RIF=" Domain: "basedmn" LogonInteractive " нельзя создать архив!!
Фактически эта строка абсолютно не влияет на работу скрипта. Вопрос в том, почему!


Код: #( Backup_3CARD123
RunOnce
NoDel
User: "user2" SecPassword: "TIF1RIF=" Domain: "basedmn" LogonInteractive \ LogonNetwork также не помогает.
Action:
S" \\EControl\Archive\%CUR-DATE DATE>S%\test-file.flg" EVAL-SUBST FCREATE
)#
Автор: Zhnec
Дата сообщения: 29.11.2010 00:45
добрый день, простите если повторяюсь. Скажите если возможность средствами nnCron решить такую задачу:
Есть приложение за которым надо следить.
Как только приложение начинает потреблять оперативной памяти больше указанного, то закрывать его и через определённое время запускать снова.
Извините, если тема уже поднималась а я не увидел. Спасибо.
Автор: San4o_s_ran4o
Дата сообщения: 29.11.2010 18:26
В игре есть квиксейв в меню. А нужно забить на горячую кнопку.
Сабж справится?
Как это реализовать?
Автор: AlikasS
Дата сообщения: 30.11.2010 01:15
Zhnec

Цитата:
добрый день, простите если повторяюсь. Скажите если возможность средствами nnCron решить такую задачу:
Есть приложение за которым надо следить.
Как только приложение начинает потреблять оперативной памяти больше указанного, то закрывать его и через определённое время запускать снова.
Извините, если тема уже поднималась а я не увидел. Спасибо.


Код: <%
WINAPI: GetProcessMemoryInfo psapi.dll
: ~proc-mem-info2 ( N PID -- n ) { atr pid -- }
44 HERE pid FALSE PROCESS_VM_READ PROCESS_QUERY_INFORMATION + OpenProcess DUP >R
GetProcessMemoryInfo DROP HERE atr CELLS + @ R> CloseHandle DROP
;

\ ~proc-mem-info2 ( N PID -- n )
\ где N
\ 1 - Page Faults Virtual memory
\ 2 - Пик по физ.памяти (PeakWorkingSetSize) в байтах
\ 3 - занимаемая физ.память в байтах
\ 8 - занимаемая вирт. память в байтах
\ 9 - Пик по виртуалке (PeakPagefileUsage) в байтах
\ 1024 / - в килобайтах
\ 1024 / 1024 / - в мегабайтах
%>

#( слежение_за_потреблением_nncron
SingleInstance
NoLog
Action:
FOR-PROCS: "nncron.exe"

8 FOUND-PID ~proc-mem-info2 1024 / 1024 / 10 >
IF
\ nncron сожрал более 10Мб вирт.памяти
FOUND-PID kill \ убиваем процесс
\ в случае с nncron перезапуск происходит самостоятельно
\ если другое приложение, перезапускай сам
THEN

;FOR-PROCS
)#
Автор: San4o_s_ran4o
Дата сообщения: 30.11.2010 07:44
можно ли забить на горячую кнопку - квиксейв в игре?
Автор: ALaptev
Дата сообщения: 02.12.2010 07:25
Подскажите,
как сделать так что бы nnCron не запускался процессом для каждого пользователя подключившегося терминалом.

win 2008

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354

Предыдущая тема: Autodesk AutoCAD


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.