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

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

Жанры

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

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

Я царь. Книга XXVIII

Дрейк Сириус
28. Дорогой барон!
Фантастика:
боевая фантастика
аниме
попаданцы
5.00
рейтинг книги
Я царь. Книга XXVIII

Император Пограничья 7

Астахов Евгений Евгеньевич
7. Император Пограничья
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Император Пограничья 7

Газлайтер. Том 19

Володин Григорий Григорьевич
19. История Телепата
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Газлайтер. Том 19

Золотой ворон

Сакавич Нора
5. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Золотой ворон

Барон Дубов 4

Карелин Сергей Витальевич
4. Его Дубейшество
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Барон Дубов 4

Эволюционер из трущоб. Том 7

Панарин Антон
7. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 7

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

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

Третий. Том 4

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий. Том 4

Третий. Том 3

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий. Том 3

Личинка

Привалов Сергей
1. Звездный Бродяга
Фантастика:
боевая фантастика
космическая фантастика
рпг
попаданцы
5.00
рейтинг книги
Личинка

Херсон Византийский

Чернобровкин Александр Васильевич
1. Вечный капитан
Приключения:
морские приключения
7.74
рейтинг книги
Херсон Византийский

Газлайтер. Том 18

Володин Григорий Григорьевич
18. История Телепата
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Газлайтер. Том 18

Отмороженный 13.0

Гарцевич Евгений Александрович
13. Отмороженный
Фантастика:
боевая фантастика
попаданцы
рпг
фантастика: прочее
фэнтези
5.00
рейтинг книги
Отмороженный 13.0

Твое сердце будет разбито. Книга 1

Джейн Анна
Любовные романы:
современные любовные романы
5.50
рейтинг книги
Твое сердце будет разбито. Книга 1