FireURQ:Руководство пользователя: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 320:
 
==Переход по оператору PROC==
 
'''''Синтаксис:'''''
'''Proc Метка'''
 
При вызове данного оператора происходит переход на указанную метку и выполнение программы, до встречи первого end, потом управление передается оператору, следующему непосредственно за '''proc''', откуда команда была вызвана. Допустима любая вложенность '''proc'''-вызовов (вплоть до использования рекурсии!).
 
Нормально обрабатываются последовательные переходы по '''proc''' - цепочка ведется до тех пор, пока не встретится первый end. При этом кнопки во всех пройденных локациях накапливаются(!), но при обнаружении end'а происходит не опрос пользователя, а возврат к предыдущему proc'у и так до самого начала цепочки.
 
'''''Пример:'''''
''':берег_реки'''
'''pln Вы стоите на берегу реки, позади вас Туманный лес.'''
'''proc лес'''
'''pln Отсюда только одна дорога - на запад.'''
'''end'''
''';локация лес'''
''':лес'''
'''pln Из леса на вас поглядывают волки.'''
'''end'''
 
При выполнении этот код выведет на экран следующее:
 
Вы стоите на берегу реки, позади вас Туманный лес.
Из леса на вас поглядывают волки.
Отсюда только одна дорога - на запад.
 
То есть, после выполнения по '''proc''' локации '''лес''', мы вернёмся в локацию '''берег_реки''' и продолжим с того места, на котором был вызов команды '''proc'''.
'''''Важно:''''' При наличии локации common (см. ниже) операторы на локации common при переходе по '''proc''' НЕ ВЫПОЛНЯЮТСЯ и системная переменная '''current_loc''' не меняется.
 
==Переход по декораторам TEXTBUTTON и IMGBUTTON==