КАТЕГОРИИ: Архитектура-(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) |
Операторы Stop, End и Exit Sub
До сих пор мы писали процедуры, которые выполняли свою работу до конца и заканчивали ее только на операторе End Sub, не раньше. Существуют ли операторы, которые подобно операторам выхода из цикла Exit Do и Exit For заставляют компьютер покинуть процедуру, не доходя до ее конца? Такие операторы существуют. Оператор End заставляет Visual Basic завершить работу не только процедуры, а всего проекта, не доходя до конечного End Sub. Пример: программа Private Sub Command1_Click() Print 1;: Print 2;: End: Print 3; End Sub напечатает 1 2. Правда, заметить это вы успеете только в пошаговом режиме, так как End завершает режим работы и проект мгновенно переходит в режим проектирования. Ненавистник пошагового режима мог бы мечтать: "Хорошо бы существовал специальный оператор паузы, чтобы наткнувшись на него, компьютер приостанавливал выполнение программы, а мы могли бы спокойно посмотреть на результаты и подумать". Такой оператор есть, это Stop. Наткнувшись на него, компьютер переходит в режим прерывания и делает паузу до тех пор, пока вы снова не щелкните на кнопке Start. Тогда он продолжает работу с того места, где остановился. Вот вариант программы, при котором вы успеваете разглядеть результат: Private Sub Command1_Click() Print 1;: Print 2;: Stop: End: Print 3; End Sub Еще пример: программа Private Sub Command1_Click() Print 2;: A: Print 3;: End: Print 4; End Sub
Private Sub A() Print 6;: End: Print 7; End Sub напечатает 2 6.
Оператор Exit Sub не такой решительный, как End. Он не выбрасывает Visual Basic из режима работы, а просто заставляет компьютер выйти из процедуры, в которой он выполнился. Если он выполнился в вызываемой процедуре, то Visual Basic возвращается в процедуру, ее вызвавшую. Если он выполнился в процедуре обработки события, то Visual Basic просто завершает работу этой процедуры. Пример: Заменим в предыдущей программе оба End на Exit Sub: Private Sub Command1_Click() Print 2;: A: Print 3;: Exit Sub: Print 4; End Sub Private Sub A() Print 6;: Exit Sub: Print 7; End Sub Эта программа напечатает 2 6 3.
Задание 87: Вот вам программа с процедурами. Вам нужно, не запуская ее, записать на бумажке весь разговор, который ведут герои “Трех мушкетеров”. Private Sub Command1_Click() Print "Я, король Франции, спрашиваю вас - кто вы такие? Вот ты - кто такой?" ATOS Print "А ты, толстяк, кто такой?" PORTOS Print "А ты что отмалчиваешься, усатый?" DARTANIAN Print "Анна! Иди-ка сюда!!!" Exit Sub Print "Аудиенция закончена, прощайте!" End Sub
Private Sub ATOS() Print "Я - Атос" End Sub
Private Sub ARAMIS() Print "Это так же верно, как то, что я -Арамис!" End Sub
Private Sub PORTOS() Print "А я Портос! Я правильно говорю, Арамис?" ARAMIS Print "Он не врет, ваше величество! Я Портос, а он Арамис." End Sub
Private Sub DARTANIAN() Print "А я все думаю, ваше величество - куда девались подвески королевы?" Exit Sub Print "Интересно, что ответит король?" PORTOS End Sub Сверьте с ответом. Если не сходится, запустите программу в пошаговом режиме.
Теперь вы достаточно знаете о процедурах, чтобы они стали для вас удобными кирпичиками для постройки программ. Более мощным средством являются процедуры с параметрами, о которых вы сейчас узнаете. Задание 88: В программе для задания 60 из 9.3 о продавце автомобилей есть два повторяющихся фрагмента. Сам бог велел сделать их процедурами. Задание 89: Аналогичную вещь можно проделать для калькулятора из 5.9
Дата добавления: 2014-12-23; Просмотров: 520; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |