Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

GoTo строка




Шаг 26 - Инструкция GoTo

Dim Num

Строка

GoSub строка

End Type

ID As Integer

Name As String * 20

Dim MyRecord As Record, Position ' Объявляет переменную.

' Открывает файл произвольного доступа.

Open "TESTFILE" For Random As #1 Len = Len(MyRecord)

' Читает из файла с помощью инструкции Get.

Position = 3 ' Определяет номер записи.

Get #1, Position, MyRecord ' Читает третью запись.

Close #1 ' Закрывает файл.

Шаг 25 - Инструкция GoSub...Return

Задает переход в подпрограмму и возвращение из нее в процедуру.

...

...

Return

Параметры

 

Строка: Аргумент строка может быть любой меткой строки или номером строки.

Замечания
Допускается использование инструкций GoSub и Return в любом месте процедуры, но GoSub и соответствующая инструкция Return должны находиться в одной процедуре. Подпрограмма может содержать несколько инструкций Return. Первая обнаруженная инструкция Return приводит к передаче управления назад к инструкции, непосредственно следующей за последней выполненной инструкцией GoSub.
Невозможен вызов или завершение процедур Sub с помощью GoSub...Return.
Создание отдельных процедур для вызова из программы может обеспечить более структурированный подход, чем использование конструкций GoSub...Return.

Пример

 

В данном примере инструкция GoSub используется для вызова подпрограммы из процедуры Sub. Инструкция Return возвращает управление инструкции, следующей сразу после инструкции GoSub. Инструкция Exit Sub используется, чтобы управление не было случайно передано подпрограмме.

Sub GosubDemo()

' Запрашивает число у пользователя.

Num = InputBox("Введите положительное четное число.")

' Вызывает подпрограмму только в том случае,

' если было введено положительное число.

If Num > 0 Then GoSub MyRoutine

Debug.Print Num

Exit Sub ' Запрещает передачу управления процедуре.

MyRoutine:

Num = Num/2 ' Выполняет деление.

Return ' Возвращает управление инструкции,

End Sub ' следующей после инструкции GoSub.

Задает безусловный переход на указанную строку внутри процедуры.

Параметры
строка: Обязательный аргумент строка может быть любой меткой строки или номером строки.

Замечания
Инструкция GoTo позволяет переходить только на строки внутри той процедуры, в которой она находится.
Слишком большое число инструкций GoTo затрудняет чтение и отладку программ. По возможности следует использовать структурные управляющие инструкции (Do...Loop, For...Next, If...Then...Else, Select Case).

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

Sub GotoStatementDemo()




Поделиться с друзьями:


Дата добавления: 2015-06-27; Просмотров: 381; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.