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

» nnCron-Планировщик с поддержкой скриптового языка

Автор: unreal666
Дата сообщения: 12.10.2006 18:59

Цитата:
Одна проблема - SPForth вроде не хочет работать под SP2....

Не знаю. У меня и на XP SP2 и сейчас на Win2k3 R2 файл spf4.exe запускается.
А что конкретно не должно работать?

Добавлено:
Mayskii

Цитата:
Смотрю программа эта здесь очень популярна, целая куча постов, а AutoIT похоже тут не сильно жалуют, может быть я многое теряю?

nnCron сложнее, чем AutoIt (сам AutoIt я не юзал, просто сейчас прочитал справку).
Вообще это разная категория планировщиков. nnCron ближе к Automate.
AutoIt ближе к Neo Sign of Misery. Т.е. они оба делают что-то только тогда. когда их скрипты запущены (или откомпилированные exe-шники).
А nnCron это фактически IDE с компиляцией кода в реальном времени.
При запуске nnCron'а происходит компиляция кода в плагинах и кода в tab-файлах. И потом каждую минуту или раньше (если программно) происходит перекомпиляция этих tab-файлов.
И nnCron расширяемый язык. Фактически все задачи в nnCron'е являются словами (типа процедуры в других языках программирования).
Автор: Stygis
Дата сообщения: 12.10.2006 19:57
unreal666
Угу, сам уже нашел. spf316 и spf375 не шли Просмотрел spf4
Проблема была с програмкой blank (как раз для создания форм), перекомпилил на spf4 - теперь работает.

Добавлено:
Вот только не показывается ничего при вызове дефолтного примера.... Не пробовал его использовать?
Понял, не мог найти картинку, поэтому после вызова картинки он прекращал работу.

Добавлено:
Кстати, не разбирался, что значит апостроф в

Код: ' show-values дляКнопки ок
Автор: lucky_Luk
Дата сообщения: 13.10.2006 00:33
DJ makrus

Цитата:
В названии обычные пробелы?

Нет, "необычные" - тут приводили код спецсимвола, который отображается nnCron как пробел и его можно ставить в имени задачи (выложите еще раз код этого символа - забыл, теперь приходится копировать его из других задач, в шапку его засунем).
У меня во всех задачах такие "пробелы", все они отображаются и работают. Та задача, которую я привел здесь, тоже работает, но не отображается в списках "Редактировать" и "Выполнить задачу".
Автор: unreal666
Дата сообщения: 13.10.2006 01:15

Цитата:
выложите еще раз код этого символа

Alt+0160

Добавлено:
Stygis

Цитата:
Кстати, не разбирался, что значит апостроф


Цитата:
Слово ' (апостроф, читается "штрих") вводит очередное слово и ищет его в словаре, возвращая адрес поля кода найденной статьи (если слово не найдено, то это считается ошибкой).

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

Автор: DJ makrus
Дата сообщения: 13.10.2006 02:30
lucky_Luk
Добавь в свою задачу еще одну строчку:
Код: Action:
Автор: unreal666
Дата сообщения: 13.10.2006 03:11
DJ makrus

Цитата:
WinLib - это библиотека для СП-Форта версии не ниже 4.10

И где откопать эту версию?
Я нашнл максимум 4.0 build 017 (на sourceforge.net)
Автор: Stygis
Дата сообщения: 13.10.2006 06:32
DJ makrus
А blank спокойно работает Откомпилил - и пашет спокойно.
А насчет WinLib все равно посмотрим Пасип
Автор: DJ makrus
Дата сообщения: 13.10.2006 06:32
unreal666
Цитата:
И где откопать эту версию?
скорее всего имелось в виду "для СП-Форта версии не ниже 4.0 build 010".
Полгода назад скачанные с сайта библиотеки "непошли" у меня на 4.0 build 016, тогда Юрий выслал мне обновленные версии которые заработали согласно документации.
Какие сейчас на сайте не знаю, могу выслать на мыло (обращай в ПМ) или же к Юрию обратись.
Автор: unreal666
Дата сообщения: 17.10.2006 00:53
Существует ли слово для принудительного выхода из цикла BEGIN ... UNTIL ?
Автор: lucky_Luk
Дата сообщения: 17.10.2006 01:53
DJ makrus

Цитата:
Добавь в свою задачу еще одну строчку:
Код:
Action:

Добавил, все равно не вижу этой задачи в списках "Выполнить задачу" и "Редактировать".

Добавлено:
После перезагрузки Винды задача появилась в списках. А я думал что будет достаточно команды "Перечитать кронтабы" ...
Автор: DJ makrus
Дата сообщения: 17.10.2006 05:29
unreal666
Цитата:
Существует ли слово для принудительного выхода из цикла BEGIN ... UNTIL ?
вроде бы EXIT работает
lucky_Luk
Цитата:
А я думал что будет достаточно команды "Перечитать кронтабы" ...
скорее всего было бы достаточно презапустить nnCron
Автор: unreal666
Дата сообщения: 17.10.2006 09:06
DJ makrus

Цитата:
вроде бы EXIT работает

Вроде бы EXIT - это выход из задачи. По крайней мере в справке nnCron написано:

Цитата:
Воспользоваться словом из ядра Форта EXIT, которое предназначено для выхода из текущего слова. Его можно употреблять, поскольку Action: - это тоже Форт-слово.
Автор: DJ makrus
Дата сообщения: 17.10.2006 12:45
unreal666
Цитата:
Вроде бы EXIT - это выход из задачи
ну да, выход из слова (задача - частный случай слова).
Поверхностная проверка показала что в случае цикла BEGIN ... UNTIL выход работает...

Stygis
Цитата:
Подправь
O'k, спасибо.
Автор: kirillkr
Дата сообщения: 17.10.2006 13:49
Есть ли nnCron для 64битной версии?
Автор: Stygis
Дата сообщения: 17.10.2006 22:12
Как можно прочитать файл в Unicode-кодировке? Вроде бы получалось раньше, а сейчас никак
Пробовал через вариант, предложенный в "Неотложной помощи по Форту" - построковое чтение.

DJ makrus

Цитата:
задача - частный случай задачи

Ты наверное имел в виду задача - частный случай слова? Подправь
Автор: codewarlock1101
Дата сообщения: 18.10.2006 10:22
подскажите, плз
Каким образм вставить (или синтаксически грамотно написать) символ возврата каретки в строку, чтобы получился многострочный текст, например в рисовалке прямо на экране:
OSD: "first string ?? second string" 5000
Автор: Stygis
Дата сообщения: 18.10.2006 12:15
codewarlock1101
%crlf%
Автор: codewarlock1101
Дата сообщения: 19.10.2006 13:48
Stygis
Огромадное СПАСИБА! Но в этом случае не помогает - просто показывает 2 квадрата (непечатные символы). И скорее всего в этом плагине невозможно, так как сами виндозные функции (типа TextOut) не поддерживают многострочный вывод
Автор: daMIR
Дата сообщения: 20.10.2006 22:58
Я тут придумал интересную задачку...
Мне не хочется сохранять пассы от интернета в Винде- мало ли траян како-нить, тем паче у меня домашняя локалка, опасаться стоит. Но и забивать "ручками" не охота- либо долго, если пасс сложный, либо пасс легкий, что само по себе не хорошо. Выход- по клавиатурному сокращению выводить пасс Хоть он хранится в незащищенном виде, вряд ли в папку Крона кто полезет. Листинг несложной задачки:
#( Pass
WatchHotKey: "^1"
Action:
PAUSE: 200
SEND-KEYS: "тут_пасс"
)#
Ее можно использовать и в других местах.
Вот только одна проблема- при смене пользователя, Крон во вновь запущенном профиле отказывается работать Что можно придумать? Можно как-нить отловить процесс смены пользователя?

Добавлено:
Хотя если менять профиль через хоткей Win+L, то можно попробовать... А как быть со сменой через меню Пуск?
Автор: Stygis
Дата сообщения: 21.10.2006 06:32
daMIR
Не извращайся - таких программ пруд пруди, в т.числе и бесплатных (например, Password Commander). Причем они пароли как раз шифруют
Автор: daMIR
Дата сообщения: 21.10.2006 08:23

Цитата:
Не извращайся - таких программ пруд пруди, в т.числе и бесплатных (например, Password Commander). Причем они пароли как раз шифруют

Такие программы стандартные, популярные отсюда:
1. Пассы так или иначе хранться в "старндртном" для проге месте. Т.е. нетрудно взять наиболее популярные программы такого рода, посмотреть где они хранят пассы, и написать соотвествующий троян.
2. Вряд ли алгоритм шифрования крипостоек.
Ну и наконец ставить лишнюю программу, которая отнимает место, висит в памяти... Зачем?
Если использовать Крон то- под него 99.999% не напишут троян и он у меня уже стоит и трудится
Мой вопрос еще в силе, тем паче это нужно не только для этого.
Автор: Stygis
Дата сообщения: 21.10.2006 09:48
Да, под него не напишут троян - незачем Просто повесить клавиатурный шпион и все

Насчет переключения - а что именно говорит крон под другим пользователем? Просто, насколько я помню, нормально все работало....
Автор: AnxiousPretzel
Дата сообщения: 24.10.2006 08:42
Доброго времени суток вам! Возникла следующая проблема:
В локальной сети есть 60 компьютеров, которые имеют имя вида "Agent01", "Agent02", ..., "Agent60". На каждом из них имеется по одной папке с именем вида "rec_agent01", "rec_agent02", ...,"rec_agent60" соответственно. Необходимо по расписанию, например раз в день, проверять, если папки пусты. Если они пусты - выводить сообщение, что на таком-то компьютере папка пуста.
То есть что-то вроде:
Цикл i от 1 до 60
DIR-EMPTY: "\\Agent%i%\rec_agent%i%"
IF
MSG: "Папка пуста на Agent0%i%!"
ELSE
MSG: "Папка не пуста на Agent0%i%!"
THEN
i+1
Далее

Я пытался организовать цикл с использованием переменных, но никак не получается увеличить значение на 1 или присвоить единицу переменной. В итоге я зашел в тупик...

Буду рад любой помощи. Заранее спасибо.
Автор: DJ makrus
Дата сообщения: 24.10.2006 14:42
AnxiousPretzel
см. Help "Дополнительная информация -> 'Неотложная помощь' по Форту -> Как сpедствами Фоpта оpганизовать пpостейший цикл?"
В твоем случае будет примерно так (не проверял) [more=код]
60 0 DO
DIR-EMPTY: "\\Agent%i%\rec_agent%i%"
IF
MSG: "Папка пуста на Agent0%i%!"
ELSE
MSG: "Папка не пуста на Agent0%i%!"
THEN
LOOP[/more]

Цитата:
В итоге я зашел в тупик...
покажи целиком всю задачу (скопируй из кронтаба и вставь внутрь тегов more), но прочти сначала Help: "Работа с программой -> Работа с переменными, константами и массивами", там все понятно написано, с примерами
Автор: Korros
Дата сообщения: 24.10.2006 20:20
Как можно с помощью nnCron найти все архивы в папке и распаковать каджый архив в отдельный каталог по имени архива???

В частности архивы *.rar. WinRar через командную строку не позволяет распаковать таким образом несколько архивов (только по одному и с указанием конечной папки в командной строке).
Автор: Stygis
Дата сообщения: 24.10.2006 21:16
Korros
Пройдись циклом FOR-FILES, для каждого архива формируй WinRAR-команду для START-APP'а.
Автор: daMIR
Дата сообщения: 25.10.2006 13:08

Цитата:
Просто повесить клавиатурный шпион и все

Мда.. Все верно)

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

При смене пользвотеля (не выходе!) Крон во вновь запущенном пользователе не работает Т.е не запускается ни одна задача.
Автор: unreal666
Дата сообщения: 26.10.2006 06:41
DJ makrus

Цитата:
ну да, выход из слова (задача - частный случай слова).
Поверхностная проверка показала что в случае цикла BEGIN ... UNTIL выход работает...

Так мне надо не из задачи выйти, а именно из цикла. Т.е. продолжить выполнение кода задачи после этого цикла. А с EXIT убивается сама задача полностью.
Автор: DJ makrus
Дата сообщения: 26.10.2006 08:47
unreal666

Цитата:
Так мне надо не из задачи выйти, а именно из цикла.
ну тогда вынеси BEGIN ... UNTIL в отдельное слово
Автор: unreal666
Дата сообщения: 26.10.2006 12:39

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

Не хочу я создавать лишние слова. Надо как-то по другому придумать.
Пока нет времени сильно разбираться с местом хранения управляющих меток (т.е. получается, адресов начала циклов) и принципом работы слов конца цикла (UNTIL, REPEAT и т.п.).
Время появится, разберусь с этим и как это реализовано в nnCron (как у понял он сделал на SP-Forth, только непонятно какой версии).

Добавлено:
Еще вопрос. Задал и на форуме nnCron'а.

Как в файл записывать нужное число в бинарном режиме?
Т.е. нужно взять со стека число и записать его в файл не как текст, а как HEX-значение.
Т.е. для примера на стеке лежит 0xFF (т.е. 255 в дестяичном виде) и записать его в нужный файл как байт FF.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Как писать кириллицей, а НЕ латиницей (транслитом)


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