Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Операторы Stop, End и Exit Sub

Оглядимся вокруг | Отладка программы. Окна отладки. Режимы отладки. | Глава 8. Типичные маленькие программы | Вложение циклов в разветвления и наоборот | Объекты. Их свойства, их события, их методы | Первый способ - Загрузка в Visual Basic готовых изображений | Цвет в Visual Basic | Способ - Рисуем при помощи графических методов | Использование случайных величинпри рисовании | Процедуры с параметрами |


Читайте также:
  1. Вложенные операторы If. Логические операции и выражения
  2. Вложенные операторы if. Сложное условие в операторе if. Логические операции
  3. Встроенные операторы и их приоритет
  4. Глава 4. Простые (линейные) программы. Операторы ввода-вывода. Переменные величины
  5. Лекция 7: операторы выбора, безусловный переход, циклы.
  6. Операторы ADD, SUB, MUL и DIV

До сих пор мы писали процедуры, которые выполняли свою работу до конца и заканчивали ее только на операторе 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

 


Дата добавления: 2015-11-16; просмотров: 53 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Зачем нужны процедуры пользователя| Переменные вместо чисел

mybiblioteka.su - 2015-2024 год. (0.006 сек.)