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

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

Жанры

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

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

На границе империй. Том 7

INDIGO
7. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
6.75
рейтинг книги
На границе империй. Том 7

Маяк надежды

Кас Маркус
5. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Маяк надежды

Принадлежать им

Зайцева Мария
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Принадлежать им

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

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

Вернувшийся: Посол. Том IV

Vector
4. Вернувшийся
Фантастика:
космическая фантастика
киберпанк
5.00
рейтинг книги
Вернувшийся: Посол. Том IV

Гром над Академией. Часть 1

Машуков Тимур
2. Гром над миром
Фантастика:
фэнтези
боевая фантастика
5.25
рейтинг книги
Гром над Академией. Часть 1

Неофит

Листратов Валерий
3. Ушедший Род
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Неофит

Тринадцатый XIII

NikL
13. Видящий смерть
Фантастика:
городское фэнтези
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Тринадцатый XIII

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

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

Надуй щеки! Том 2

Вишневский Сергей Викторович
2. Чеболь за партой
Фантастика:
попаданцы
дорама
фантастика: прочее
5.00
рейтинг книги
Надуй щеки! Том 2

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

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

Воронцов. Перезагрузка. Книга 5

Тарасов Ник
5. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
6.00
рейтинг книги
Воронцов. Перезагрузка. Книга 5

Уязвимость

Рам Янка
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Уязвимость

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

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