Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory1_11.doc
Скачиваний:
17
Добавлен:
25.09.2019
Размер:
234.5 Кб
Скачать

Область действия уровня блока

Блок представляет собой набор операторов, в начале и в конце которого стоят операторы начала и завершения блока. Примеры:

Do и Loop.

For [Each] и Next.

If и End If.

Select и End Select.

SyncLock и End SyncLock.

Try и End Try.

While и End While.

With и End With.

В Visual Basic 6.0 любая переменная, объявленная в процедуре, ограничена областью действия процедуры, поэтому доступ к ней возможен из любого места в этой процедуре. Если переменная объявлена внутри блока — т. е. набора операторов, заканчивающегося оператором EndLoop или Next, то переменная доступна и за пределами блока.

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

For I = 1 To 10

Dim N As Long = 0

' N has procedure scope although it was declared within a block.

N = N + Incr(I)

Next I

W = Base ^ N

' N is still visible outside the block it is declared in.

  1. Инструкции языка VB.Оператор в Visual Basic — это полная инструкция. В инструкциях содержатся ключевые слова, операторы, переменные, константы и выражения. Каждая инструкция принадлежит к одной из следующих двух категорий:

- Операторы объявления, которые объявляют переменную, константу или процедуру, и могут также указывать тип данных.

- Выполняемые операторы, которые инициируют действия. Эти операторы могут вызывать метод или функцию, а также способны выполнять цикл или ветвь, состоящие из блоков кода. Исполняемые операторы содержат Операторы присваивания, которые присваивают значение или выражение переменной или константе.

В этом разделе описана каждая категория. Также в этом разделе описано, как поместить несколько операторов в одной строке и как продолжить оператор на несколько строк.

Операторы объявления

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

  1. Алгоритмические стр-ры выбора. Инструкция If…End If.

Рассмотрим их более подробно.

Формат оператора “IF”:

IF_ условие_THEN_оператор1_[Else_оператор2]

Данный оператор должен быть записан в оду строчку. Он выполняется следующим образом:

Сначала вычисляется результат условия.

Если условие истинно выбирается оператор 1. Если ветвь Else в данном операторе отсутствует, тогда в ситуации когда результат условия лож выполняется оператор 3 следующий за оператором Формат оператора IF. Схема алгоритма такого вычисления представлены на рисунке.

13.1

Если в операторе включена ветвь Else , В этом случае при ложном результате условия сначала выполняется оператор 2 затем следующий за оператором IF оператор3.

В операторе IF можно проврять несколько условий. В этом случае используеся следующая блочная структура:

IF_условие1_THEN

Elseif_условие2_THEN

Оператор1 ELSE

Оператор2

13.2

Средствами структуры If-Then-Else можно огарнизовать. В зависимости от соблюдения условия. Рассмотрим другой вариант её использования с ключевым словом Else If. Данная конструкция IfThenElse If с несколькими операторами If позволяет проверить дополнительные условия если исходное условие принимает значение False. Синтаксис оператора определяющего несколько групп операторов из которых в зависимости от соблюдения условия должна быть выполнена только одна.

Имеет следующий вид:

If условие_1Then

Блок_операторов_1

Else If условие_ 2 Then

Блок_операторов_2

Else

Блок операторов_n

End If

В качестве примера рассмотрим программу Prog2 . Программа предоставляет пользователю определенные возможности работы с рабочей книгой и сообщает ему об этом.

Пример:

Private Sub Prog2_ If Then Else if ()

Dim Password As String

Password= Get Password

if Password= “Level1” Then

For Each Elem In Form1

Elem. Font Name = “Ms Sand Serif”

Elem. Font Italic = True

Elem. Font Size = 10

Next Elem

Else if Password =“Level2” Then

For Each Elem In Form1

Elem. Font Name = “Mt Extra”

Elem. Font Italic = False

Elem. Font Size = 14

Next Elem

Eise if Password= “Level3” Then

For Each Elem In Form1

Elem. Font Name = “Ms Sand Serif”

Elem. Font. Bold = True

Elem. Font Size = 20

Next Elem

Else

MsgBox. “Пароль некорректен, повторите ввод пароля”

End if

End Sub

Function Get Password ()

Get Password= Lcase (Input Box(“Введите пароль”” Пароль”))

End Function

Ключевое слово Else If с последующим условием используется дважды. Новое условие вносит в порядок выполнения команд дополнительные изменения если проверка первого условия закончилась неудачно. В Prog2 первое условие указано сразу за ключевым словом If. В нем проверяется равенство переменной … Password

Если переменная не равна строке VB переходит к первому ключевому слову Else if где проверяет следующее условие- равенство переменной Password в строке Level2. Начиная с этого момента программа использует только новое условие, забывая о старом. Если равенства опять нет – управление переходит к следующему ключевому слову Else if и тд. В строке 3 процедуры Prog2 вызывается функция GetPassword в которой использованы новые элементы. Рассмотрим их подробнее.

Function GetPassword()

GetPassword= Lcase (Input Box (‘Введите пароль:” “пароль”))

End Function

Здесь во второй строке заданы обращения к двум встроенным функциям Lcaseи Input Box. Первая преобразует все буквы переданной в неё строки в строчные. Вторая выводит на экран диалоговое окно с запросом на ввод данных пользователя. У этой функции есть несколько необязательных аргументов:

  1. Строка отображаемая в окне над полем для ввода.

  2. Строка содержащая заголовок диалогового окна.

При вызове функции Input Box на экране появляется диалоговое окно с заданными заголовком и текстом приглашения. Окно также содержит пустое поле в котором пользователь может ввести данные. Значение возвращаемое Input Box зависит от того какую кнопку выберет пользователь. (ОК)- возвращается введенная строка, (ОТМЕНА)- пустая строка. В этом примере буквы этой строки передаются в функцию Lcase которая преобразует их строчные. В блоке начинающимся сразу за ключевым словом If помещен цикл For-Each-Next. В этом цикле перебираются элементы управления расположенные на форме Form 1 на заголовках которых устанавливаются соответствующие атрибуты шрифта. В зависимости от значения введенного пароля устанавливаются различные значения свойств шрифта. Если пароль введен некорректно выдается соответствующее сообщение в окне сообщения (MgsBox).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]