Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика часть 1.doc
Скачиваний:
6
Добавлен:
16.04.2019
Размер:
290.3 Кб
Скачать

22.Оператор With... End With (Visual Basic)

Выполняет блок операторов с повторяющимися ссылками на один объект или структуру.

With object

[ statements ]

End With

Части

Термин

Определение

object

Обязательный.Переменная или выражение.Может иметь любой тип данных, включая простейшие типы.

statements

Необязательный.Одна или несколько инструкций между With и End With, выполняющихся на object.

End With

Обязательный.Завершает определение блока With.

Заметки

With...End With позволяет выполнить ряд операторов с указанным объектом без повторного указания имени объекта.Если классификационный путь к объекту слишком длинный, использование With...End With может повысить производительность.Блок With также уменьшает количество повторных наборов классификационного пути и риск неверного ввода одного из его элементов.

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

Правила

  • Типы данных. Тип данных у object может быть любым типом класса или структуры или даже простейшим типом Visual Basic (например Integer).Платформа .NET Framework поддерживает все простейшие типы, а также классы или структуры, к членам которых можно получить доступ в блоке With.

  • Объявление. Необходимо объявить object перед блоком With.Невозможно объявить его уже в операторе With.

  • Число итераций. Блок With — это не итерационная конструкция.Если внутри блока не существует циклов, инструкции выполняются лишь раз.

  • Вложенные структуры. Структуры With...End With можно вкладывать друг в друга.Пример см. в разделе Практическое руководство. Выполнение нескольких действий над объектом (Visual Basic).

Но поскольку члены внешних операторов маскируются во внутренних инструкциях, внутри внутреннего блока With придется использовать полные имена при ссылках на члены объектов внешнего блока With.

Также можно вложить друг в друга различные виды управляющих структур.Дополнительные сведения см. в разделе Вложенные структуры управления (Visual Basic).

  • Выход из структуры. Visual Basic не поддерживает Оператор Exit (Visual Basic) для передачи управления вовне из блока With.Если необходимо выйти до выполнения всех инструкций, поместите метку на оператор End With и для перехода к нему используйте Оператор GoTo.Дополнительные сведения см. в разделе Практическое руководство. Операторы меток (Visual Basic).

Невозможно передать управление извне блока With вовнутрь, или наоборот.Можно вызвать процедуру из блока, но управление вернется к следующей инструкции.

  • Доступ к другим объектам. После входа в блок With нельзя переназначить object до прохождения через инструкцию End With.Таким образом, можно получить доступ к методам и свойствам только заданного объекта без их полного описания.Можно использовать методы и свойства других объектов, однако необходимо указывать их имена полностью.

Пример

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

VB

With testObject

.Height = 100

.Text = "Hello, World"

.ForeColor = System.Drawing.Color.Green

.Font = New System.Drawing.Font(.Font,

System.Drawing.FontStyle.Bold)

End With

23.Какие либо действия процедуры повторяющиеся заданное количество раз или пока выполняется или не выполняется некоторое условие называют циклом.

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

Структуры цикла, всегда выполняющиеся заданное количество раз, называются циклами с фиксированным числом итераций. Другие типы структур цикла повторяются переменное количество раз в зависимости от некоторого набора условий. Такие циклы называются неопределенными циклами.

Блок операторов, находящийся между началом и концом цикла называется "тело цикла".

Самой простой структурой цикла является фиксированный цикл.

Цикл For..Next

Синтаксис

For counter = Start To End [Step StepSize] Statements Next [counter]

Counter - любая численная переменная VBA Start - любое численное выражение , определяет начальное значение для переменной counter End - численное выражение, определяет конечное значение для переменной counter Statements - один, несколько или ни одного оператора VBA (тело цикла).

По умолчанию VBA увеличивает переменную counter на 1 каждый раз при выполнении операторов в цикле. Можно задать другое значение (SterSize - любое численное выражение), на которое будет изменяться counter.

Ключевое слово Next сообщает VBA о том, что достигнут конец цикла. Необязательная переменная counter после ключевого слова Next должна быть той же самой переменной counter, которая была задана после ключевого слова For в начале структуры цикла.

24.Оператор While...Wend позволяет организовать выполнение некоторой последовательности операторов до тех пор,пока заданное условие имеет значение True (истина). Синтаксис оператораWhile...Wend:

While <Условие>

[Операторы]

Wend

ОператорWhile...Wend содержит элементы, представленные в таблице:

Элемент

Описание

<Условие>

Оператор

Числовое, логическое или строковое выражение, которое имеет значение True или False.

Необязательный элемент – один или несколько операторов, составляющих тело цикла.

При входе в цикл вычисляется и анализируется заданное условие. Если условие имеет значениеTrue, то выполняется весь набор операторов, расположенных до служебного слова Wend– конца цикла. После этого управление возвращается оператору While и опять проверяется условие. Если оно имеет значение True, то снова выполняются все операторы до Wend. В противном случае выполнение программы продолжается с оператора, следующего за служебным словом Wend. Циклы While...Wendмогут иметь любую глубину вложенности.