Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
бесконечное повторение скрипта
VoVcHiKДата: Воскресенье, 23 Января 2011, 13:07 | Сообщение # 1
Поднаторевший
Группа: Проверенные
Сообщений: 68
Репутация: 0
Награды: 0
Статус: Offline
как сделать чтобы скрипт проигрывался бесконечно?
 
avengerДата: Воскресенье, 23 Января 2011, 13:43 | Сообщение # 2
Новый участник
Группа: Пользователи
Сообщений: 14
Репутация: 0
Награды: 0
Статус: Offline
Предположительно Вам необходимо прочитать в справке про команду ScriptTimer("","")
 
VoVcHiKДата: Воскресенье, 23 Января 2011, 13:52 | Сообщение # 3
Поднаторевший
Группа: Проверенные
Сообщений: 68
Репутация: 0
Награды: 0
Статус: Offline
Пасиб )) я и так ее юзал думал что не верно )
 
Alex3AДата: Воскресенье, 23 Января 2011, 14:27 | Сообщение # 4
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
VoVcHiK, в ммв, стоит защита от зацикливания, когда комп "висит", но есть и сознательное зацикливание, скажем такая штука как рекурсия, когда скрипт вызывает сам себя. И ммв как то различает рекурсию и зависание, по крайней мере иного мне не встречалось, если ммв выкинет окно с предложением прервать цикл, это означает что сработала системма зависаний. Таймеры совсем из другой оперы, каждый цикл это отдельная цепочка вычислений, почитай о полупаралельных процессах, и используй команду refresh.
Сделай несколько тестовых примеров, тогда поймеш как что работает.
 
YURIYДата: Воскресенье, 23 Января 2011, 14:37 | Сообщение # 5
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Code
For i=1 To Infinity
** действия в цикле
Next i



Вечная память Андрею Сергееву!
 
Alex3AДата: Воскресенье, 23 Января 2011, 16:01 | Сообщение # 6
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
YURIY, не издевайся над молодыми и зелеными. :D
Code
For i=1 To Infinity
   If (stop) Then
     Return()
   End
** действия в цикле
Next i

Безконечный цикл, это "завислоу", даже если в условиях цикла до бесконечности Infinity,
должон быть механизм его прерывания.
Скрипт recurs:
завислоу пожырающее память
Code

**че то там какой то код
RunScript("recurs")

Не боись, ммв допускает до 50 уровней рекурсии. :D
Просто глубина рекурсии 50 перекрывает большинство рекурсионных задач.
Рекурсия не может быть безконечна, ее глубина должна ограничиватся,
скрипт кнопки
Code

count=0
max=49
RunScript("recurs")

Code


   If (count=max) Then
     Return()
   End
** действия
count=count+1
RunScript("recurs")

нерекурсивный вариант
Code

For i=0 To max
** действия в цикле
Next i

при рекурсии, под очередное вложение скрипта отводится память, сначала заканчивается самый последний клон, затем по очереди все остальные.
 
VoVcHiKДата: Понедельник, 24 Января 2011, 20:02 | Сообщение # 7
Поднаторевший
Группа: Проверенные
Сообщений: 68
Репутация: 0
Награды: 0
Статус: Offline
спасибо за достойный ответ )
 
  • Страница 1 из 1
  • 1
Поиск: