На главную страничку учебника Visual BasicУправляющие структуры языка Этот раздел посвящён операторам, которые предназначены для управления процессом выполнения всех остальных исполняемых операторов Visual Basic. Такие классические структуры, как устловные операторы и операторы цикла, имеются во всех процедурных языках программирования, имеются они и в Visual Basic. Условный оператор If...End If В этой конструкции некоторые операторы выполняются только при условии, содержащееся в конструкции логическое выражение имеет значение True (истинно): If
Логическое_выражение Then Оператор В первом случает оператор может быть только один. Во втором сколько угодно (в том числе и один). Пример: If
(a = b) And (c <> d) Then Скобки здесь не обязательны, но они повышают читабельность кода. Условный оператор If...Else...ElseIf...End If Такая конструкция используется для более сложных ветвлений: If
Логическое_выражение 1 Then Эта схема может быть и в укороченном виде If...Then...Else...End If. При этом операторы после Else выполняются только в том случае, если ни одно из условий не выполнено. Пример: If
(a = b) Or (c <> d) Then Выражение c=d будет выполнено только в том случае, если a<>b или c=d. Условный оператор Select Case...End Select Конструкция Select Case "принимает решение" на основе анализа значения одного выражения. При этот это выражение указывается в строке Select Case: Select Case Анализируемое_выражение Case
Значение№1 End Select Конечно, анализируемое выражение должно возвращать значение типа, совместимого с типом значений в строка Case. Пример: В зависимости от значения переменной iTest, строковой переменной strResult присваиваются различные значения Select Case iTest Case
1 Оператор цикла For...Next Этот цикл используют в том случае, когда заранее известно стартовое и конечное значение счётчика. Синтаксис выглядит следующим образом: For
Счётчик_цикла = Старт To Стоп Step
Шаг Роль счётчика цикла может играть только ранее объявленная переменная целочисленного типа. Шаг задаёт приращение счётчика цикла при каждом проходе. Умолчательно значение шага равно 1. После слова Next счётчик можно опустить. Пример: В этом примере всем элементам массива iArray присваивается значение 5. Dim
c As Integer Оператор цикла For Each...Next Эта специфическая форма цикла For предназначена для выполнения некоторой операции с каждым объектом, входящим в состав некоторой коллекции объектов (такой операцией, например, может быть вызов метода или присваивание значения свойству). Синтаксис оператора: For
Each
ИмяОбъекта In ИмяКоллекции Пример: В этом примере показано, как изменить свойство BackColor у всех этикеток (Label), лежащих на форме Dim
x As Object Оператор цикла Do While...Loop / Do...Loop While Эти две разновидности цикла тесно взаимосвязаны, и их часто рассматривают как один из базовых видов цикла. Как уже отмечалось, циклы For применяют в тех случаях, когда количество проходов и диапазон изменения счётчика цикла заранее известны. Циклы While предназначены для ситуаций, когда количество проходов цикла заранее не известно, но зато известно условие выхода из цикла. Синтаксис цикла While: Do
While
Условие_выхода Do Отличие между ними заключается в том, что условие выхода проверяется в одном случае перед очередным проходом, а в другом случае - после выхода. Если в цикле опустить условие выхода или это условие всегда выполняется, то получится бесконечный цикл. Например вот такой Do
While
2 > 1 Если у вас случаянно получился такой цикл, то выйти из него можно при нажатии Ctrl+Break. Но это работает только в среде разработки. Пример: Dim
n As Integer Оператор цикла Do Until...Loop / Do...Loop Until По своей логике цикл Until подобен циклу While с той лишь разницей, что проходы цикла выполняются до тех пор, пока условие выхода не выполняется. Пример: Dim
n As Integer Выход из цикла Exit For / Exit Do С помощью операторов Exit... можно осуществить досрочный выход из цикла вне зависимости от значения, которое имеет в данный момент условие выхода. Пример: Dim
n As Integer На главную страничку учебника Visual Basic |