Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » nnCron-Планировщик с поддержкой скриптового языка

Модерирует : gyra, Maz

Widok (29-01-2008 15:38): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

   

8AleX8



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nnCron
 
nnCron - это компактный, но мощный планировщик и менеджер автоматизации с собственным скриптовым языком, основанным на синтаксисе языка программирования Форт. Помимо традиционной для планировщика способности запускать в указанное время программы, "напоминалки" и открывать документы ..
 
nnCron способен отслеживать файлы, флаги, окна, процессы, движения мыши, время простоя компьютера, клавиатурные шорткаты, выход в онлайн/оффлайн, появление диска в драйве, наличие хоста в сети (пинг), изменение удаленного ресурса по http-протоколу, количество свободного места на диске, загруженность оперативной памяти и многое другое...
 
nnCron понимает cron-формат (Unix) и управляется с помощью текстовых кронтаб-файлов. Для тех, кто любит работать с GUI есть графическая оболочка из которой можно удалять/добавлять/редактировать и запускать задачи, устанавливать напоминалки, менять настройки программы.  
 
nnCron позволяет использовать в задачах VBScript/JScript, регулярные выражения и расширяется за счет плагинов. Он может быть запущен в качестве службы (сервиса) или как обычное приложение. Обладает средствами удаленного администрирования. Подробнее прочитать о возможностях nnCron вы можете в online-документации.
 
nnCron бесплатен для граждан стран бывшего СССР при условии частного и некоммерческого использования.


история изменений - http://www.nncron.ru/forums/viewforum.php?f=11
форум - http://www.nncron.ru/forums/
 
архив конференции поддержки: » fido7.ru.nncron
 
скачать: http://www.nncron.ru/download_ru.shtml - программу, документацию, плагины, скрипты
 
последняя версия:  
 
v.1.91 (build 1083) - последний релиз от 21 марта 2006 (+ основные плагины и документация на английском языке)  
 
документация:  
 
help_ru.zip  (обновляется регулярно) документация nnCron (на русском языке)
faq_ru.zip nnCron FAQ (на русском языке)  
spf_help.zip (130k  20 Nov 2002)  описание основных слов SP-Forth (на русском языке)  
sf.chm (1.5M  03 Feb 2003)  книга Leo Brodie "Начальный курс программирования на языке Форт" (на русском языке)  
 
полезные ссылки:
* » nnBackup - крошечная (250k) консольная утилита, предназначенная для резервного копирования файлов, синхронизации содержимого каталогов, создания и обработки файл-листов.  
* » Cтатья Валерия Кондакова про возможности nnCron  
* » Канал "nnCron releases" для » WatzNew by 8AleX8
* » Файл расцветки синтаксиса исходников языка Форт и кронтабов nnCron для плагина Colorer (Far Manager)
* » Редактор мелодий для beeper'a под nnCron
Если не работает новая, правильно написанная задача, то попробуйте добавить в опции задачи слово AsLoggedUser (галочка в свойствах новой задачи "Как пользователь, выполнивший login") и, возможно, LoadProfile (галочка "Загрузить профиль").
 

Полезные самодельные задачи для сабжа
 

Всего записей: 1813 | Зарегистр. 11-12-2001 | Отправлено: 23:26 27-04-2002 | Исправлено: lucky_Luk, 18:16 22-09-2007
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Цитата:
Так мне надо не из задачи выйти, а именно из цикла.
ну тогда вынеси BEGIN ... UNTIL в отдельное слово  

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 09:47 26-10-2006
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ну тогда вынеси BEGIN ... UNTIL в отдельное слово

Не хочу я создавать лишние слова. Надо как-то по другому придумать.  
Пока нет времени сильно разбираться с местом хранения управляющих меток (т.е. получается, адресов начала циклов) и принципом работы слов конца цикла (UNTIL, REPEAT и т.п.).  
Время появится, разберусь с этим и как это реализовано в nnCron (как у понял он сделал на SP-Forth, только непонятно какой версии).
 
Добавлено:
Еще вопрос. Задал и на форуме nnCron'а.
 
Как в файл записывать нужное число в бинарном режиме?  
Т.е. нужно взять со стека число и записать его в файл не как текст, а как HEX-значение.  
Т.е. для примера на стеке лежит 0xFF (т.е. 255 в дестяичном виде) и записать его в нужный файл как байт FF.

----------
MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 13:39 26-10-2006
Stygis

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Код:
MOUSE-POS  <# S>D #S BL HOLD 2DROP S>D #S #>

BL - это 32 вроде бы
HOLD - кладет на стек как раз символ с этим кодом.
Копай в эту сторону.

Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 15:26 26-10-2006
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
HOLD - кладет на стек как раз символ с этим кодом.

Так мне не нужно ложить на стек. Положить ничего трудного нету.
Я незнаю как ЗАПИСАТЬ в файл это число как байт.
 
Мне это вообще для чего нужно.
Спросто у меня на одном разделе слетела FAT (выклился свет во время создания еще одного раздела из свободного места данного раздела).
Ну и  вычислил (тоже с помощью nnCron), что записи в FAT стали для 16-ти секторных кластеров (была 32-х секторная). Хотя ссылки в самих каталогах как были 32-х секторные так и остались.
Теперь мне надо взять число (копия FAT у меня хранится в текстовом виде) в в иде текста, преобразовать его в нормальное число (S>NUM), пересчить это значение обратно для 32-х секторного FAT. И запись это число как HEX-значение.
Для примера, после пересчета у меня получилось число 0x12FACD56 и мне надо его так и запись в файл как HEX значение.

----------
MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 16:52 26-10-2006 | Исправлено: unreal666, 16:53 26-10-2006
Stygis

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666
По коду символа кладешь на стек и затем скидываешь в файл?

Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 17:27 26-10-2006
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
По коду символа кладешь на стек и затем скидываешь в файл?

Вот как раз скинуть в файл не могу, т.к. не знаю как записать именно бинарное значение 0x12FACD56, а не в виде обычного текста.
А вообще да. Нужно каждое число типа 0xFF скидывать в файл как байт.
 
Но. Уже не надо. Нашел как это организовать в описании pdf-файла "Новая книга по Форту". В ней описано как сохранять код для целевой компиляции. Я ее под себя переделал.
Оказывается все просто. Просто сохраняешь ти данные в массиве и потом скидываешь этот массив в файл через WRITE-FILE.  
Ништяк. Все сложное просто

----------
MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 19:26 26-10-2006 | Исправлено: unreal666, 19:28 26-10-2006
Stygis

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666
Так ты кодик приведи задачки, интересно же
ЗЫ. Что за книжка такая?

Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 22:49 26-10-2006
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Так ты кодик приведи задачки, интересно же

Пока приводить нечего. Я ее еще не составил. Составил только момент, связанный с сохранением. Сйечас пока другим занимаюсь (привожу в нормальный вид doc-файл, который ты мне скидывал - перевод Стандарта ANS Forth).

Цитата:
ЗЫ. Что за книжка такая?

Там обо всем понемногу. Есть несколько интересных моментов. Описание нашел на форуме по Forth. Сходи туда ( http://fforum.winglion.ru/ ), там тоже есть интересные мысли связанные с фортом.
Книга находится здесь. Смотри там pdf-файл. Хотя лучше скачай страницы в HTML-формате и сам создай PDF, т.к. в его pdf почему-то нет картинок.
 
Добавлено:
Вот код, отвечающий за целевую компиляцию в этой книге:

Код:
0x10000 CONSTANT Msz
CREATE M Msz ALLOT
0 VALUE THERE
: b, ( byte -- ) THERE M + C! THERE 1 + TO THERE ; \ скомпилировать байт
: w, ( word -- ) THERE M + W! THERE 2 + TO THERE ; \ скомпилировать слово
: d, ( dword -- ) THERE M + ! THERE 4 + TO THERE ; \ скомпилировать 32-битное слово
 
: save" \ program.bin"
[CHAR] " WORD COUNT W/O OPEN-FILE DROP
M THERE ROT WRITE-FILE DROP ;

А вот переделанный код под меня (набросок), отвечающий за накопление кода, открытия файла и сохранения в него.

Код:
#( Задача
0x10000 CONSTANT Msz
CREATE M Msz ALLOT
0 VALUE THERE
: d, ( dword -- ) THERE M + ! THERE 4 + TO THERE ; \ скомпилировать 32-битное слово
0 VALUE fidw   \ Файловый указатель
Action:
..... \ Здесь я открою файл источник, произведу нужные пересчеты с 32-битными словами и запихаю их в массив M с помощью слова d,
S" H:\FAT_mod.bin" R/W OPEN-FILE THROW TO fidw \ Открытие файла назначения (уже создан пустой файл)
fidw FILE-SIZE THROW  \ получаю размера этого файла и оставляю его размер на стеке (двойная ячейка)
fidw REPOSITION-FILE THROW \  произвожу позиционирование в конец файла
M THERE fidw WRITE-FILE THROW \ Записываю массив в файл назначения
fidw CLOSE-FILE THROW \ закрываем файл назначения
)#

Что-то типа этого. Только, если будешь юзать подобное, то не забывай, что при записи в массив нескольких байт оптом (через w, или d,) байты будут записываться наоборот.
Т.е. если выполнишь команду 0xF1F2 w, или 0xF1F2F3F4 d, , то  в массив запишется соответственно F2F1 и F4F3F2F1.

----------
MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 06:55 27-10-2006 | Исправлено: unreal666, 07:30 27-10-2006
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нашел тут одну неточность в справке nnCron:

Цитата:
Стоит особо отметить, что длина строк, созданных с помощью синтаксиса S" xxx" не может превышать 255 символов.

Длина строки не может превышать 511 байт. Походу длина строки содержить не один байт, а половину ячейки, т.к. для 32-битных систем - 2 байта.
 
Добавлено:
Блин. Чего-то не пойму как посмотреть содержимое (DUMP) такой строки.
Пытаюст сделать так:

Код:
6666 N>S DROP 15 - 100 DUMP

Так выводится одна и та же фигня, вне зависимости от начального числа.


----------
MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 08:56 27-10-2006
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Цитата:
Не хочу я создавать лишние слова. Надо как-то по другому придумать.
вот еще вариант

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 09:13 27-10-2006
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus
Тоже не вариант. При таком варианте надо пройти цикл до конца. А мне надо, чтобы можно было из него выйти в любое время без прохождения оставшейся части цикла.

----------
MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 17:52 27-10-2006
Stygis

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Цитата:
 Так выводится одна и та же фигня, вне зависимости от начального числа.  

Блин, я щас дико торможу и поэтому не могу сказать, почему, но этак команда выводит у тебя дамп с адреса PAD+длина(число->строка). PAD что такое помнишь?
 
Добавлено:
И вообще..

Цитата:
1111 N>S DROP 4 - 16 DUMP
30F1088   35 33 30 46  31 30 33 33 7F 00 00 01  00 00 00 00 530F1070........

Т.е. не соответствует код и символ.
Помню уже мучался с чем-то подобным. Но не помню, как решил....

Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 18:55 27-10-2006 | Исправлено: Stygis, 20:30 27-10-2006
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Блин, я щас дико торможу и поэтому не могу сказать, почему, но этак команда выводит у тебя дамп с адреса PAD+длина(число->строка). PAD что такое помнишь?

Да это понятно, что эта фигня находится в PAD. Только почему же в этом Паде нет этой строки?
По 6666 N>S TYPE она же выводится.

Цитата:
Т.е. не соответствует код и символ.

Аналогично. Только у меня в коде 34 34, а выводит тоже 70.
7-ка вообще имеет код 37.

----------
MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 22:22 27-10-2006
Stygis

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Цитата:
Только почему же в этом Паде нет этой строки?  

Ну ведь после S" tmp" в PAD тоже нету строчки tmp. Там должен лежать код строчки. Вот только я щас не могу понять, что из того, что там выведено является кодом... и является ли?

Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 22:40 27-10-2006
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Stygis

Цитата:
Там должен лежать код строчки.

Почему?

Цитата:
1) Символьная строка (au-cтрока):
Это самый распространенный тип строк, используемых в SP-Forth. Такая строка представлена двумя значениями на стеке: адресом памяти, по которому хранится сама строка ( a -- ) и т. н. счетчиком, в котором содержится длина (количество символов) данной строки ( a u -- ).  

Т.е. по идее по этому адресу должна быть строка. Просто, возможно, после применения остальных команд (после N>S), эта строка в PAD'е затирается.

----------
MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 23:22 27-10-2006
Stygis

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666
У меня уже пальцы и мозги запутались - я как раз имел в виду, что там должен лежать как раз адрес

Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 23:24 27-10-2006
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Ну ведь после S" tmp" в PAD тоже нету строчки tmp.

После S" tmp" DROP 10 - 50 DUMP в памяти лежит код S" tmp" DROP 10 - 50 DUMP
 
Добавлено:
Еще что интересно.
После применения S" 123" адрес строки получается 97032E7, а после 123 N>S - 9702ED5.
Чего то они слишком в разных местах и довольно далеко друг от друга отстоят.

----------
MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 23:25 27-10-2006
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Цитата:
Тоже не вариант.
да нет, и это тоже вариант, простой и очень гибкий (вовсе не обязательно проходить весь цикл до конца ), другое дело что он тебя почему-то не устраивает..., если найдешь свой вариант - будь добр поделись идеей   .

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 02:57 28-10-2006
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
вовсе не обязательно проходить весь цикл до конца

Я в смысле, что все равно придется проходить все до UNTIL, т.е. нельзя выйти в любом месте из цикла.

----------
MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 05:39 28-10-2006 | Исправлено: unreal666, 05:40 28-10-2006
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666
  я тебя прекрасно понял, посмотри вот на этот вариант

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 08:18 28-10-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » nnCron-Планировщик с поддержкой скриптового языка
Widok (29-01-2008 15:38): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru