Команда PAUSE. Проблема с динамическим заданием параметров

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

Команда PAUSE. Проблема с динамическим заданием параметров

Postby lotusv » Sat, 01 Oct 2011, 11:14

Добрый день, уважаемые.
nnCron. v 1.93b10 Build 1141 03.12.2009
Столкнулся с такой проблемой:
- на диске появляется файл имя - число, расширение tmr
в зависимости от того какое будет имя файла (число) необходимо на столько же минут приостановить выполнение задачи.
Код такой:
Code: Select all
Action:
ShowNormal   NormalPriority
FOR-FILES: "d:\user\*.tmr"
    RE-MATCH: "%FOUND-FILENAME%" "/(.*)\.tmr/i"
    IF
        \ $1 = имя файла без расширения
   DIR-CREATE: "d:\user\%$1%-begin"
   PAUSE: "0:%$1%"
   DIR-CREATE: "d:\user\%$1%-end"
    THEN
;FOR-FILES

Проблема в том, что
PAUSE: "0:%$1%"
не отрабатывает, а в $1 таки правильное число! Папки создаются правильно!
Пробовал по разному... и в переменные пихал, и постфиксное представление PAUSE в миллисекундах делал...
То ошибки, то не отрабатывает совсем. Если задать например PAUSE: "0:3", то нормально идет задержка на 3 минуты...
Помогите с кодом, пожалуйста. Наверное я чего-то не понимаю. Неважко как будет реализовано, главное что бы работало!
Спасибо.
lotusv
 
Posts: 4
Joined: Sat, 01 Oct 2011, 11:02


Re: Команда PAUSE. Проблема с динамическим заданием параметр

Postby lotusv » Sat, 01 Oct 2011, 16:23

RE-MATCH: "%FOUND-FILENAME%" "/(.*)\.tmr/i"
У меня отрабатывает правильно
В $1 находится имя файла - т.е. то, что мне нужно.
Имя файла (без расширения) - это число.
Не отрабатывает команда: PAUSE: "0:%$1%"
В этом то и проблема.
lotusv
 
Posts: 4
Joined: Sat, 01 Oct 2011, 11:02

Re: Команда PAUSE. Проблема с динамическим заданием параметр

Postby AlikasS » Sun, 02 Oct 2011, 04:47

Code: Select all
  S" %$1%" EVAL-SUBST ( 2DUP  MsgBox ) S>NUM 1000 * PAUSE
User avatar
AlikasS
 
Posts: 1437
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Команда PAUSE. Проблема с динамическим заданием параметр

Postby lotusv » Sun, 02 Oct 2011, 11:41

СРАБОТАЛО!
Спасибо!
Только там нужно было так:
Code: Select all
 S" %$1%" EVAL-SUBST ( 2DUP  MsgBox ) S>NUM 60000 * PAUSE

И я не сильно силен с Фортом (встретился вот только в nnCrone ))) ), не трудно ли будет объяснить как оно работает и зачем тут используется
( 2DUP MsgBox )
это же вывод сообщения на экран? А мне выводить ничего не нужно...
Я так понимаю:
EVAL-SUBST вычисляет числовое значение $1 и запихивает его в временную переменную S. Далее это передается в переменную NUM, а потом перемножается на 60000 и получаем время в миллисекундах для команды PAUSE.
А вот ( 2DUP MsgBox ) - не понимаю...
--------------
И второе, что я заметил: в лог nnCron после начала выполнения задачи каждую секунду ложится строка типа
12:03:25 2560 система TASK: Test
числа после времени разные выходят. Как бы этот момент исключить. Тоже не понимаю что это такое.
lotusv
 
Posts: 4
Joined: Sat, 01 Oct 2011, 11:02

Re: Команда PAUSE. Проблема с динамическим заданием параметр

Postby AlikasS » Mon, 03 Oct 2011, 07:00

lotusv wrote:СРАБОТАЛО!
Спасибо!
Только там нужно было так:
Code: Select all
 S" %$1%" EVAL-SUBST ( 2DUP  MsgBox ) S>NUM 60000 * PAUSE

И я не сильно силен с Фортом (встретился вот только в nnCrone ))) ), не трудно ли будет объяснить как оно работает и зачем тут используется
( 2DUP MsgBox )
это же вывод сообщения на экран? А мне выводить ничего не нужно...
Я так понимаю:
EVAL-SUBST вычисляет числовое значение $1 и запихивает его в временную переменную S. Далее это передается в переменную NUM, а потом перемножается на 60000 и получаем время в миллисекундах для команды PAUSE.
А вот ( 2DUP MsgBox ) - не понимаю...
--------------.

по идее $1 должно положить на стек строку с необходимым текстом,
но не ложит....
поэтому пришлось доставать ее так
S" %$1%" EVAL-SUBST .
( 2DUP MsgBox ) - в скобках пишутся комментарии,
это было мое отладочное сообщение, потом я его заккоментировал.
можно скобки и все что между ними безболезненно удалить.
S>NUM - слово из хелпа, смотри его
lotusv wrote:И второе, что я заметил: в лог nnCron после начала выполнения задачи каждую секунду ложится строка типа
12:03:25 2560 система TASK: Test
числа после времени разные выходят. Как бы этот момент исключить. Тоже не понимаю что это такое.

смотри слово из хелпа NoLog
User avatar
AlikasS
 
Posts: 1437
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Команда PAUSE. Проблема с динамическим заданием параметр

Postby lotusv » Mon, 03 Oct 2011, 07:29

Спасибо за помощь, во всем разобрался.
NoLоg пока использовать не буду, нужно фиксировать выполнение задачи для отладки.
Потом подключу.
Еще раз спасибо!
lotusv
 
Posts: 4
Joined: Sat, 01 Oct 2011, 11:02

Re: Команда PAUSE. Проблема с динамическим заданием параметр

Postby VoidVolker » Fri, 14 Oct 2011, 13:51

AlikasS wrote:
Code: Select all
S" %$1%" EVAL-SUBST

*facepalm*
Ну сколько можно совершать одну и ту-же ошибку?
Code: Select all
$1
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Команда PAUSE. Проблема с динамическим заданием параметр

Postby AlikasS » Fri, 14 Oct 2011, 16:00

VoidVolker wrote:
AlikasS wrote:
Code: Select all
S" %$1%" EVAL-SUBST

*facepalm*
Ну сколько можно совершать одну и ту-же ошибку?
Code: Select all
$1

AlikasS wrote:по идее $1 должно положить на стек строку с необходимым текстом,
но не ложит....
поэтому пришлось доставать ее так
S" %$1%" EVAL-SUBST .
User avatar
AlikasS
 
Posts: 1437
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Команда PAUSE. Проблема с динамическим заданием параметр

Postby VoidVolker » Fri, 14 Oct 2011, 17:50

AlikasS wrote:по идее $1 должно положить на стек строку с необходимым текстом,
но не ложит....
поэтому пришлось доставать ее так
S" %$1%" EVAL-SUBST .

Код? У меня все прекрасно кладет.
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: No registered users and 2 guests