Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
106 Кб
Скачать
☆

Інструкція Select Case

Для полегшення читання сценаріїв замість багаторазово вкладених інструкцій If...Then,..Else при перевірці одного виразу, що може мати кілька значень, краще використовувати інструкцію Select Case.

Допустимо, що відповідно до кожного дня тижня повинна бути виконана визначена команда. У наступному прикладі перемінної DayNumber привласнюється числове значення (від 1 до 7), що відповідає дню тижня від неділі до суботи.

DayNumber = Weekday(Date ())

select case DayNumber

case 2: MsgBox "Понедєльник. Сьогодні по телевізору футбол!"

case 3: MsgBox "Вівторок. Уроки музики!"

case 4: MsgBox "Середа. Сьогодні йдемо в кіно!"

case 5: MsgBox "Четвер. Усі на риболовлю!"

case 6: MsgBox "П'ятниця. Йдемо на вечірку!"

case else: MsgBox "Довгоочікуваний вихідний!"

end Select

Цикл Do...While

Цей цикл дозволяє виконувати набір інструкцій необмежену кількість разів, доти поки не буде виконана умова, необхідна для виходу з такого циклу. У наступному прикладі кожні 5с (5000 мс) перевіряється, чи не вилучений файл із: \temp\data.in. Як тільки це відбудеться, з'явиться діалогове вікно з відповідним повідомленням.

set fso = CreateObject("Scripting.FileSystemObject")

do while fso.FileExists("c:\temp\data.in")

WScript.Sleep 5000

loop

MsgBox "Файл c:\temp\data.in вилучений"

Цикл Do...While може бути написаний у декількох варіантах:

do while вираз

інструкції

loop

do until вираз

інструкції

loop

do

інструкції

while вираз

loop

do

інструкції

until вираз

loop

Вихід з циклу: інструкція Exit Do

У деяких випадках з'являється необхідність негайно перервати виконання циклу і передати керування сценарієм наступному за тілом циклу оператору. Для цих цілей використовують інструкцію Exit Do.

Припустимо, необхідно обробити кілька файлів з даними FILE1.DAT, FILE2.DAT і т.д. Якщо якого-небудь з цих файлів немає на жорсткому диску, процес обробки необхідно припинити. Нижче приведений приклад сценарію для рішення такої задачі.

set fso = CreateObject("Scripting.FileSystemObject")

num = 1

do while num <= 5

' обробка файлів від 1 до 5

filename = "с:\temp\file"+ltrim(Cstr(num))+".dat"

' формування імені файлу

if not fso.FileExists(filename) then

' перевірка наявності файлу

exit do

' якщо файлу не існує, цикл припиняється

end if

Process filename

' виклик процедури process

num = num + 1

' перейти до обробки наступного файлу

loop

end sub

На першому кроці циклу перемінної filename привласнюється значення FILE1.DAT, а значення перемінної num збільшується на 1. У такий спосіб перевіряється, чи дійсно існують файли, імена яких по черзі зберігаються в перемінної filename. Якщо файлу з зазначеним ім'ям не існує, інструкція Exit Do припиняє виконання циклу до виклику процедури Process.

Цикл For...Next

Цей цикл переважно використовувати у випадках, коли необхідно виконати набір інструкції визначене число раз. Нижче приведений приклад, що раніше зустрічався, переписаний для циклу For...Next.

Інструкція Exit For негайно перериває роботу циклу і передає керування сценарієм оператору, що знаходиться після рядка з оператором Next. Використовуючи ключове слово step, можна змінити значення лічильника на встановлену величину:

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