Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

 выражение

[Case значение_2

 выражение_2]

[Case Else

 выражение_3]

End Select

Здесь сначала вычисляется значение

выражения
, которое затем по очереди сравнивается со значениями, стоящими после ключевых слов
Case
. В случае совпадения выполняются операторы в соответствующем блоке
Case
. Если же ни одно из имеющихся значений не совпадает со значением
выражения
,
то выполняются операторы, стоящие после слова
Case
Else. Пример использования оператора
Select Case
:

Select Case MyVar

Case vbRed

 Color = "Красный"

Case vbGreen

 Color = "Зеленый"

Case vbBlue

 Color = "Синий"

Case Else

 Color = "Цвет непонятен"

End Select

Операторы циклов 

В VBScript поддерживаются несколько типов циклов: цикл

For…Next
, цикл
Do…Loop
, цикл
While…Wend
, цикл
For Each…Next
. Рассмотрим каждый из них подробнее.

Цикл For…Next

В общем случае оператор цикла

For…Next
записывается следующим образом:

For counter=start То end [Step step]

 тело цикла

 [Exit For]

 тело цикла

Next

Параметр

counter
здесь является счетчиком цикла;
start
— начальное значение этого счетчика;
end
— конечное значение;
step
— шаг приращения счетчика. Если ключевое слово
Step
не указано, то шаг приращения берется равным единице. Выход из цикла
For…Next
происходит, когда значение счетчика
counter
становится больше, чем значение параметра
end
. Выражение
Exit For
используется для безусловного выхода из цикла.

Пример использования цикла

for
приведен в листинге П2.1.

Листинг П2.1. Пример использования цикла
For…Next

Dim howFar 'Верхний предел для счетчика цикла

Dim sum(10) 'Массив из 11 элементов, индексы от 0 до 10

Dim icount, theSum

howFar = 10

theSum = 0

sum(0) = 0

'Цикл выполнится 11 раз

For icount = 0 To howFar

 theSum=theSum+icount

 sum (icount) = theSum

Next

Цикл For Each…Next

Оператор цикла

For Each…Next
предназначен для перебора всех элементов массива или коллекции:

For Each element In group

тело цикла

 [Exit For]

 тело цикла

Next [element]

Здесь параметр

element
является переменной, в которую будет записываться значение текущего элемента массива или коллекции при итерациях;
group
— имя массива или коллекции объектов.

Замечание

Напомним, что в JScript для перебора всех элементов коллекции необходимо использовать вспомогательный объект

Enumerator
.

С помощью оператора

Exit For
можно осуществить немедленный выход из цикла.

Пример использования цикла

For Each…Next
приведен в листинге П2.2.

Листинг П2.2. Пример использования цикла
For Each…Next

'Объявляем переменные

Dim FSO, Folder, Files, File, s

s = "Список файлов" & vbCrLf

'Создаем объект FileSystemObject

Set FSO = CreateObject("Scripting.FileSystemObject")

' Создаем объект Folder для корневого каталога диска С:

Set Folder = FSO.GetFolder("C:\")

'Создаем коллекцию Files всех файлов в корневом каталоге диска С:

Set Files = Folder.Files

'Перебираем все элементы коллекции Files

For Each File In Files

 'Выделяем имя файла для текущего элемента File коллекции

 s = s & File.Name & vbCrLf

Next

'Выводим сформированную строку на экран

WScript.Echo s

Цикл While…Wend

Цикл

While…Wend
записывается в следующем виде:

While условие

 тело цикла

Wend

Таким образом, в цикле

While…Wend
условие выполнения тела цикла проверяется перед началом очередной итерации. Если условие равно
true
, то тело цикла выполняется, в противном случае цикл завершается.

Пример использования цикла

While…Wend
приведен в листинге П2.3.

Листинг П2.3. Пример использования цикла
While…Wend

Dim theMoments, theCount

theMoments = ""

theCount = 42 'Начальное значение счетчика цикла

While (theCount >= 1)

 If (theCount > 1) Then

theMoments = "До взрыва осталось " & theCount & " сек!"

 Else

Поделиться:
Популярные книги

Воплощение Похоти

Некрасов Игорь
1. Воплощение Похоти
Фантастика:
юмористическое фэнтези
попаданцы
рпг
аниме
5.00
рейтинг книги
Воплощение Похоти

Слэпшот

Хоуп Ава
Невозможно устоять. Горячие романы Авы Хоуп
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Слэпшот

Локки 2. Потомок бога

Решетов Евгений Валерьевич
2. Локки
Фантастика:
городское фэнтези
аниме
попаданцы
5.00
рейтинг книги
Локки 2. Потомок бога

Убивать чтобы жить 6

Бор Жорж
6. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 6

Ваше Сиятельство 2

Моури Эрли
2. Ваше Сиятельство
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Ваше Сиятельство 2

Я уже царь. Книга XXIX

Дрейк Сириус
29. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я уже царь. Книга XXIX

Вперед в прошлое 9

Ратманов Денис
9. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 9

Убивать чтобы жить 5

Бор Жорж
5. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 5

Драчуны

Алексеев Михаил Николаевич
Проза:
советская классическая проза
5.00
рейтинг книги
Драчуны

Разведчик. Заброшенный в 43-й

Корчевский Юрий Григорьевич
Героическая фантастика
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.93
рейтинг книги
Разведчик. Заброшенный в 43-й

Кодекс Охотника. Книга XVI

Винокуров Юрий
16. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVI

Черный Маг Императора 23

Герда Александр
23. Черный маг императора
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Черный Маг Императора 23

Последний Паладин. Том 14

Саваровский Роман
14. Путь Паладина
Фантастика:
аниме
фэнтези
попаданцы
5.75
рейтинг книги
Последний Паладин. Том 14

Кодекс Охотника XXVIII

Винокуров Юрий
28. Кодекс Охотника
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Охотника XXVIII