Выйти из задачи.

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

Выйти из задачи.

Postby Aveiro » Thu, 27 Aug 2015, 17:34

Здравствуйте.
Задача:
Есть цикл. При выполнении условия нужно выйти из цикла и задачи одновременно.
В хэлпе читаю:
Чтобы выйти и из цикла, и из задачи используйте конструкцию UNLOOP EXIT:
DO ... IF UNLOOP EXIT THEN ... LOOP


Задачу упростил до минимума- ошибка :?

Code: Select all
#( test_1
NoActive
Action:
3 * 0 DO
    FILE-EXIST: "C:\STOP.flag"  NOT 
    IF                                                                                                 
        BALLOON: "Пример" "! TEST"
        UNLOOP EXIT                                                               
    THEN
    PAUSE: 1000   
LOOP
)#
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Выйти из задачи.

Postby VoidVolker » Thu, 27 Aug 2015, 18:20

Из цикла со счетчиком можно принудительно выйти, используя слово LEAVE

http://www.nncron.ru/help/RU/add_info/f ... q.htm#loop
Code: Select all
#( test_1
NoActive
Action:
3 * 0 DO
    FILE-EXIST: "C:\STOP.flag"  NOT 
    IF                                                                                                 
        BALLOON: "Пример" "! TEST"
        LEAVE EXIT                                                               
    THEN
    PAUSE: 1000   
LOOP
)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Выйти из задачи.

Postby Aveiro » Thu, 27 Aug 2015, 19:01

Спасибо, многое забыл.
А как выйти из:

Code: Select all
BEGIN
    Выйти
AGAIN
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Выйти из задачи.

Postby VoidVolker » Thu, 27 Aug 2015, 19:53

Это же бесконечный цикл - никак или сразу из задачи/слова через EXIT. Или использовать цикл с условием:
Code: Select all
BEGIN <flag> WHILE
    <code>
REPEAT


BEGIN
    <code>
    <flag>
REPEAT
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Выйти из задачи.

Postby Aveiro » Thu, 27 Aug 2015, 20:00

Мне нужно выйти полностью из задачи, использую EXIT - выдается ошибка.
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Выйти из задачи.

Postby VoidVolker » Thu, 27 Aug 2015, 20:18

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

Re: Выйти из задачи.

Postby Aveiro » Thu, 27 Aug 2015, 22:06

Ошибка стека в Action. По коду пытаюсь найти ошибку.... Пока все ведет к EXIT . В простом примере ошибки нет. Ерунда какая-то. Как будто что-то остается....
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Выйти из задачи.

Postby Morituruz » Thu, 27 Aug 2015, 23:00

Code: Select all
3 * 0 DO

То, что лежит на стеке до тройки умножается на тройку, а лежит там явно не ваше, отсюда и ошибка.
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Выйти из задачи.

Postby VoidVolker » Fri, 28 Aug 2015, 00:02

Да, точно, что-то мне показался пример мутным - умножение лишнее.
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

cron