Непонятки с MOD

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

Непонятки с MOD

Postby ascerdfg1 » Mon, 20 Aug 2012, 08:10

Решил упростить кусок скрипта:
Code: Select all
COUNT @ 2 - 50 MOD NOT \ каждый пятидесятый + 2 
   COUNT @ 2 - NOT OR \ или второй раз
     IF
....
На:
Code: Select all
COUNT @ 2 - 50 MOD NOT \ каждый пятидесятый + 2 или второй раз   
     IF
...
Т.к. проверил:
Code: Select all
2 2 - 50 MOD N>S MsgBox
что тоже выдаёт ноль. Но в задаче это упрощение не сработало (второй раз не работает). Почему?
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Непонятки с MOD

Postby ascerdfg1 » Mon, 20 Aug 2012, 08:47

Всё работает, оказывается VARIABLE COUNT не достаточно для его обнуления при начале задачи снова :oops:
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Непонятки с MOD

Postby ascerdfg1 » Mon, 20 Aug 2012, 09:26

"Определить переменную можно в самом начале задания, до раздела Action:, а заносить и извлекать из нее значение можно внутри раздела Action:. При создании переменной в нее заносится значение 0." - а вот хрен там!
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Непонятки с MOD

Postby Morituruz » Mon, 20 Aug 2012, 09:33

Вообще-то слово COUNT уже существует в nncron, так что называть так переменную может быть чревато проблемами для задач, где оно используется.
а вот хрен там

нет, не хрен! Переменная создаётся тогда, когда кронтаб перечитывается, т.е. никакого отношения ко времени срабатывания задачи это не относится :). Задача отработала, что-то занесла в переменную и всё, оно там лежит пока туда снова что-то не запишут, или кронтаб не перечитается.
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Re: Непонятки с MOD

Postby ascerdfg1 » Mon, 20 Aug 2012, 10:36

Ну значит опять в справке косяк. Переменную COUNT заменю.
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Непонятки с MOD

Postby ascerdfg1 » Mon, 20 Aug 2012, 10:50

Если COUNT написать строчными буквами, пойдёт?
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Непонятки с MOD

Postby Morituruz » Mon, 20 Aug 2012, 10:55

Должно пойти.
На будущее: для проверки существования слов есть такая штука:
http://www.nncron.ru/help/RU/working/pl ... #WORDSLIKE

И, кстати, никакой это не косяк в справке, просто вы неправильно поняли. Я вот тоже раньше думал, что 25 VALUE var_name восстанавливает значение при каждом запуске задачи :)
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Re: Непонятки с MOD

Postby ascerdfg1 » Mon, 20 Aug 2012, 11:45

Нет? :o Чуть было не перешел на Валуева.
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Непонятки с MOD

Postby Morituruz » Mon, 20 Aug 2012, 11:59

VALUE получает значение при перечитывании кронтаба, а дальже точно так же, что запишут, то и лежит.
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Re: Непонятки с MOD

Postby ascerdfg1 » Mon, 20 Aug 2012, 12:07

В этом сообщении viewtopic.php?f=5&t=11677&p=30736#p30726 уже всё понятно :)
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Непонятки с MOD

Postby VoidVolker » Mon, 20 Aug 2012, 13:12

До раздела Action: идет режим интерпретации, т.е. так же как в консоли и интерпретируется оно во время чтения кронтаба. После раздела Action: происходит переключение в режим компиляции и код будет выполнен при наступлении условий запуска задачи. Т.е. если хотим иметь во время запуска переменную с нулем, то надо это сделать после раздела Action: самостоятельно.
Code: Select all
...
Action:
some_var OFF
0 TO some_value
...
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: Yahoo [Bot] and 5 guests