Шаг 39 - Инструкции On...GoSub, On...GoTo

Задают переход к одной из нескольких указанных строк, в зависимости от значения выражения.

On выражение GoSub списокНазначений
On выражение GoTo списокНазначений

Параметры
выражение
Обязательный. Любое числовое выражение, которое имеет целое значение от 0 до 255 включительно. Если выражение является нецелым числовым выражением, оно округляется до его оценки.
списокНазначений
Обязательный. Список номеров строк или меток строк, разделяемых запятыми.

Замечания
Значение аргумента выражение определяет, к какой строке из спискаНазначений выполняется переход. Если значение выражения меньше 1 или превышает число элементов списка, происходит одно из следующих событий:

В одном списке допускается совместное использование номеров и меток строк. Не существует практического ограничения на число меток и номеров строк, используемых с инструкциями On...GoSub... и On...GoTo. Однако при использовании большего число меток или номеров, чем может уместиться на одной строке, необходимо применять символ продолжения строки для распространения логической строки на несколько физических строк.
Инструкция Select Case обеспечивает более структурированный и гибкий способ выполнения множественных ветвлений.

Пример
В данном примере инструкции On...GoSub и On...GoTo используются для перехода к подпрограммам и строкам с указанными метками, соответственно.

Sub OnGosubGotoDemo()
Dim Number, MyString
	Number = 2			' Инициализирует переменную.
					' Переход к Sub2.
	On Number GoSub Sub1, Sub2		' Управление возвращается сюда после 
					' выполнения On...GoSub.
	On Number GoTo Line1, Line2		' Переход к метке Line2.
					' Управление не возвращается сюда после выполнения On...GoTo.
	Exit Sub
Sub1:
	MyString = "Sub1" : Return
Sub2:
	MyString = "Sub2" : Return
Line1: 
	MyString = "Метка Line1"

Line2: 
	MyString = "Метка Line2"
End Sub

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.