banner banner banner
Visual Basic для новичков. Шаг за шагом. Самоучитель/справочник
Visual Basic для новичков. Шаг за шагом. Самоучитель/справочник
Оценить:
Рейтинг: 0

Полная версия:

Visual Basic для новичков. Шаг за шагом. Самоучитель/справочник

скачать книгу бесплатно


Case 4

MsgBox «Четверка»

Case 5

MsgBox «Пятерка»

Case Else

MsgBox «Оценка введена неправильно!»

End Select

5.4. Безусловный переход GoTo

Инструкция GoTo выполняет безусловный переход к метке, расположенной в любой части текущей процедуры. Синтаксис безусловного перехода предельно прост:

GoTo метка

Метка является символьным идентификатором одного из операторов программы, используемым для передачи к нему управления. Она представляет собой комбинацию латинских букв и цифр, но должна состоять начинаться с буквы. В конце метки ставится символ двоеточия «:». Вот несколько образцов меток:

L2:

Good_Place:

ThisIsLabel800:

Несмотря на кажущуюся простоту, использование безусловных переходов крайне затрудняет понимание логики работы программы и увеличивает число ошибок. С другой стороны, алгоритмически доказано, что в любой программе можно обойтись без GoTo, применяя вместо этого инструкции If…Then… Else и Do… Loop.

Поэтому применение инструкции GoTo крайне не рекомендуется. Она поддерживается Visual Basic только для совместимости с предыдущими диалектами языка Basic.

5.5 Цикл For…Next

Цикл For…Next повторяет группу операторов программы нужное количество раз. Синтаксис данного цикла следующий:

For счетчик = начало To конец [Step шаг]

[инструкции]

[Exit For]

[инструкции]

Next [счетчик]

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

По умолчанию при каждой итерации цикла переменная счетчика увеличивается на единицу, но с помощью ключевого слова Step (Шаг) это можно изменить. Переход на новую итерацию цикла осуществляется с помощью инструкции Next.

Досрочное завершение цикла возможно с помощью инструкции Exit For, которая иногда бывает необходима, например, при возникновении ошибки.

В случае применения оператора Exit For будет продолжаться выполнение других операторов программы, расположенных после цикла.

Например, следующий цикл подает звуковой сигнал 5 раз:

For i = 1 To 5

Beep

Next i

Инструкция For определяет переменную i в качестве счетчика цикла, а также ее начальное и конечное значение. Next каждый раз увеличивает переменную i на единицу.

Кстати, указание имени счетчика после Next не обязательно и обычно используется для облегчения понимания кода программы. Инструкция Beep единственная в теле цикла. Она производит короткий гудок.

Циклы могут быть многократно вложенными. Приведем пример такого цикла, где внутри одного цикла с переменной i вложен другой цикл с переменной j:

For i = 100 To 0 Step -10

For j = 1 To 20

varY = varY * (i / j)

Next j

If i <20 Then Exit For

Next i

5.6. Цикл For Each…Next

Немного похожий своим написанием на предыдущий, цикл For Each…Next повторяет набор операторов для каждого элемента массива или всех объектов одного семейства. Вот его синтаксис:

For Each элемент In группа

[инструкции]

[Exit For]

[инструкции]

Next [элемент]

Например, чтобы поочередно вывести на экран значения всех элементов массива MyArray, нужно написать следующий цикл:

For Each ArrItem In MyArray

Print ArrItem

Next

5.7. Цикл Do… Loop

Do… Loop – цикл, который выполняется до тех пор, пока не будет выполнено некоторое условие, указанное вначале или в конце цикла.

Он имеет следующий синтаксис (вариант проверки условия в начале):

Do [{While | Until} условие]

[инструкции]

[Exit Do]

[инструкции]

Loop

Допустима также другая форма написания этого цикла (вариант проверки условия в конце) :

Do

[инструкции]

[Exit Do]

[инструкции]

Loop [{While | Until} условие]

Итерации цикла (выполнение этого участка кода программы) будут продолжаются снова и снова, до тех пор, пока не будет выполнено одно из двух условий:

• условие, записанное после ключевого слова While (Пока [истина]), принимает значение False (Ложь),

• условие, записанное после ключевого слова Until (Пока не [истина]), принимает значение True (Истина).

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

Без указания условий цикл Do… Loop будет работать бесконечно. Поэтому для досрочного выхода из цикла можно применять инструкцию Exit Do.

В следующем примере иллюстрируется необходимость проверки условия в начале цикла, чтобы не возникла ошибка деления на ноль:

intDig1 = 5

Do While intDig1> 0

print 100 / intDig1

intDig1 = intDig1 – 1

Loop

5.8. Инструкция With

Инструкция With не является условием или циклом, а упрощает выполнение нескольких последовательных операций над одним объектом, помогая избежать повторного задания его имени.

В следующем примере форма Form1 позиционируется на экране и устанавливается ее размеры.

With Form1

.Left = 3500

.Top = 2500

.Width = 4000

.Height = 3000

End With

Глава 6. Процедуры и функции

В этой главе вы научитесь:

• разбираться в разновидностях подпрограмм,

• создавать собственные подпрограммы,

• использовать встроенные процедуры и функции.

6.1. Разновидности процедур

В предыдущей главе мы познакомились с возможностью изменения последовательности операторов программы с помощью условных инструкций и циклов. Сюда же можно отнести и инструкции вызова процедур.

Процедурой (Procedure) в языке Visual Basic называется именованная часть программы, которая вызывается, выполняет определенные действия и возвращает управление в строку, следующую за точку вызова.

Различают следующие основные разновидности процедур:

• обработки событий,

• общего назначения,

• встроенные.

Процедуры обработки событий (Event Procedures) вызываются самим Visual Basic, когда происходят определенные события, связанные с элементами управления. В главе 2 мы уже составляли текст таких процедур, занимающихся обработкой события Click (Щелчок) кнопок cmdHello и cmdExit.

Процедуры общего назначения (General Procedures) не привязаны ни к каким событиям или объектам. Необходимость в их написании возникает, когда в разных частях программы приходится использовать одну и ту же последовательность операторов. Тогда пишется одна процедура общего назначения, а в нужных точках программы вставляются инструкции вызова этой процедуры. Использование процедур общего назначения улучшает читаемость текста программы, а также уменьшает число ошибок.

Встроенные процедуры (Built-In Procedures) поставляются уже готовыми в комплекте Visual Basic. Они выполняют все наиболее часто требуемые операции, но их внутренняя структура скрыта от программиста. Встроенные процедуры вызываются из основной программы так же, как и процедуры общего назначения. Методы и свойства стандартных объектов, также являются встроенными процедурами, однако они могут использоваться только применительно к этим объектам.