Програмування мовою VBS
Мета роботи
Освоєння основ написання та виконання програми мовою VBS.
1. Створення найпростішої програми.
2. Синтаксис та приклади використання функції MsgBox.
3. Синтаксис та приклади використання функції InputBox.
Короткий виклад навчального матеріалу на тему
1 Створення найпростішої програми
Програма мовоюVisual Basic Scripting Edition (VBS) складається з інструкцій мови (statement) як текстових рядків.
в українській мові інструкції мови програмування зазвичай називають операторами мови, хоча це не зовсім точно: операторами в англійських першоджерелах називають символи для позначення математичних, логічних та рядкових операцій (=, +, -, /, and, or, eqv, & ін.). Далі використовуватиметься традиційна українська термінологія з використанням слова оператори для позначення інструкцій мови.
1) запускаємо Блокнот;
2) пишемо в Блокноті рядок:MsgBox "Привіт!" (це ім'я функції з аргументом – текстовим значенням (константою) між апострофами; ім'яMsgBox – скорочення від англійського виразу Message Box, яке дослівно можна перекласти, як «коробка повідомлень», у системі Windows – вікно повідомлень;
3) зберігаємо текстовий файл з ім'ямPrg1.vbs ;
4) подвійним клацанням миші запускаємо файл виконання.

Рисунок 12.1 – Приклад роботи найпростішої програми мовоюVBS, що виконується системоюWindows Based Script Host
2 Синтаксис та приклади використання функції MsgBox
Під час виконання цієї програми використовується стандартна функція мовиVBSдля виведення повідомлень у вікно Windows з наступним повним
синтаксисом (тут і далі в описі синтаксису у квадратних дужках[ ]
наводяться необов'язкові елементи, елементи у дужках мають бути замінені конкретними значеннями):
p – змінна, якій надається код натиснутої кнопки;
Повідомлення – аргумент функції, текст у діалоговому вікні;
Кнопки та значок – стандартні змінні (наведені далі в таблиці 1.1), що визначають кнопки, значок та номер кнопки за замовчуванням у вікні (наприклад,vbYesNoCancel + vbInformation + vbDefaultButton3або3+64+512);
Заголовок вікна – напис на заголовку вікна (наприклад, «Моє перше вікно»);
Довідка, розділ – ім'я файлу довідки та ідентифікатор розділу, пов'язаного з цим вікном.
Доповнимо текст у файліPrg1.vbs зазначеними додатковими параметрами (текст пишемо в один рядок або використовуємо знак підкреслення_ в кінці першого рядка для продовження тексту функції на наступному рядку):
MsgBox "Привіт!", vbYesNoCancel + vbInformation _
+ vbDefaultButton3, "Моє перше вікно","tst.hlp",1
Вікно запущеної програми матиме вигляд, показаний на малюнку 1.3.

Рисунок 12.2 – Приклад використання функції MsgBox
із завданням набору кнопок, іконки та розділу довідки
ФункціяMsgBox повертає значення натиснутої у вікні кнопки (наприклад6, якщо натиснута кнопкаYes (Так), або інші значення для кнопокvbNo,vbCancel та ін, див. далі таблицю 12.1).
Таблиця 12.1 – Константи діалогових вікон
Для визначення коду натиснутого у вікніMsgBox кнопки слід використовувати наступний синтаксис функції: зліва потрібно написати змінну, якій буде присвоєно значення, що повертається функцією, далі слід написати символ присвоювання (= ) і праворуч від нього функцію, у якої аргументи написані у круглих дужках:
btn = MsgBox("Привіт!", vbYesNoCancel + vbInformation _
+ vbDefaultButton3, "Моє перше вікно")
Діалогове вікно матиме той самий вигляд, що й раніше (тільки без кнопки Довідка , див. малюнок 12.2), але після натискання кнопки у вікні зміннаbtn матиме значення, що відповідає натиснутій кнопці.
Якщо Ви бажаєте написати у вікніПовідомлення іЗаголовок вікна, пропустивши другий аргумент (Кнопки та значок ), після першого аргументу слід поставити 2 (ДВІ!) коми:
MsgBox "Сьогодні я написав свою першу програму на VBS!" _
, , "Вікно повідомлень студента Вані Іванова"
3 Синтаксис та приклади використання функції InputBox
Ще одна функція мови, що дозволяє відкривати вікно для введення користувачем з клавіатури рядка тексту (максимальна довжина рядка 256 символів):
де нові параметри функції (порівняно зMsgBox ):
p – змінна, якій присвоюється значення, введене у полі введення вікнаInputBox;
Стор.умолч. – рядкове значення у полі введення, яке буде показано за замовчуванням під час відкриття вікна;
X, Y – координати лівого верхнього кута вікна в одиницяхtwips (1440 twips = 1 дюйм, 567 twips = 1 см) по відношенню до лівого верхнього кута екрана; якщо координати не вказані, вікно виводиться приблизно у центрі екрана.
Доповнимо програму введенням даних з клавіатури у вікніInputBox :
S = InputBox(vbLF & "Напишіть рядок тексту:", _
"Вікно введення. Студент Ваня Іванов", , 4000, 2000)
Kod = MsgBox (S, vbYesNoCancel+vbInformation, _ "Вікно повідомлень. Студент Іван Іванов")
Тут 2 коми, тому що пропущена
ФункціяInputBox в даному прикладі має рядок , що складається з двох частин:vbLF – константа мови VBS – код переходу на наступний рядок та текстового значення>"Напишіть рядок тексту:"; ці дві частини об'єднані в один рядок за допомогою оператора конкатенації&.
Збережемо текст, як новий файлPrg2.vbs, відкриємо його подвійним клацанням мишкою і побачимо вікно функціїInputBox (рисунок 12.3). У полі введення цього вікна напишемо новий текст (довжиною понад 256 символів) та
12.4, у повідомленні якого є 256 символів значення змінноїS (якщо в першому вікні натиснути кнопку Скасувати , повідомлення у вікніMsgBox відсутнє).

Рисунок 12.3 – Приклад використання функціїInputBox

Малюнок 12.4 – Вікно функціїMsgBox
з показом тексту, написаного у вікніInputBox
У викладеному вище матеріалі використовувалися такі основні поняття мови програмування, як рядкові значення (символи між апострофами), стандартні константи вікон та рядкова константаvbLF – код переходу на новий рядок, змінні (btn, S , Kod ), операції присвоєння (= ) та конкатенації (& – об'єднання двох виразів будь-якого типу в один рядок), функції з параметрами (MsgBox, InputBox ).
Наступні лабораторні роботи присвячені освоєнню використання цих компонентів мови VBS.
Написати програму дляваріанти завдання, що відповідає номеру Вашого комп'ютера. Виконати програму, зберегти її текст та скріншоти вікон у звіті. Усі вікна повинні мати заголовки такого вигляду: «Вікно введення (або повідомлень)».
1) Вивести у лівий верхній кут екрана вікно для введення текстового рядка,
Інформація Марк. Потім у вікні повідомлень показати код натиснутої кнопки під час виходу з попереднього вікна.
2) Вивести на відстані 10 см по горизонталі та вертикалі від лівого верхнього кута екрана вікно для введення текстового рядка, показати цей рядок у вікні повідомлень з кнопками Так і Ні та піктограмою Exclamation Mark. Потім у вікні повідомлень показати код натиснутої кнопки при виході з попереднього вікна. Визначити коди натискання всіх кнопок.
3) Вивести в центрі екрана вікно для введення текстового рядка, показати цей рядок у вікні повідомлень з кнопками Повтор і Скасувати та позначкою Stop Mark. Потім у вікні повідомлень показати код натиснутої кнопки при виході з попереднього вікна. Визначити коди натискання всіх кнопок.
4) Вивести приблизно у правому нижньому куті екрана вікно для введення текстового рядка, показати цей рядок у вікні повідомлень з кнопками Стоп, Повтор та Пропустити і позначкою Question Mark. Потім у вікні повідомлень показати код натиснутої кнопки під час виходу з попереднього вікна. Визначити коди натискання всіх кнопок.
5) Вивести в центрі екрану вікно для введення текстового рядка, показати цей
Exclamation Mark. Потім у вікні повідомлень показати код натиснутої кнопки під час виходу з попереднього вікна. Визначити коди натискання всіх кнопок.
6) Вивести приблизно у правому нижньому кутку екрана вікно для введення текстового рядка, показати цей рядок у вікні повідомлень з кнопками Так, Ні та Скасувати та піктограмою Question Mark. Потім у вікні повідомлень показати код натиснутоюкнопки під час виходу з попереднього вікна. Визначити коди натискання всіх кнопок.
7) Вивести на відстані 20 см по горизонталі та 15 см по вертикалі від лівого верхнього кута екрана вікно для введення текстового рядка, показати цей рядок у вікні повідомлень з кнопками Стоп, Повтор та Пропустити та позначкою Information Mark. Потім у вікні повідомлень показати код натиснутої кнопки під час виходу з попереднього вікна. Визначити коди натискання для всіх кнопок.
8) Вивести приблизно у правому верхньому кутку екрана вікно для введення текстового рядка, показати цей рядок у вікні повідомлень з кнопками Так, Ні та Скасувати та позначкою Exclamation Mark. Потім у вікні повідомлень показати код натиснутої кнопки під час виходу з попереднього вікна. Визначити коди натискання для всіх кнопок.
9) Вивести ліворуч приблизно в центрі по вертикалі екрана вікно для введення текстового рядка, показати цей рядок у вікні повідомлень з кнопками Стоп, Повтор і Пропустити і піктограмою Question Mark. Потім у вікні повідомлень показати код натиснутої кнопки при виході з попереднього вікна. Визначити коди натискання всіх кнопок.
10) Вивести праворуч приблизно в центрі по вертикалі екрана вікно для введення текстового рядка, показати цей рядок у вікні повідомлень з кнопками Так і Ні та піктограмою Information Mark. Потім у вікні повідомлень показати код натиснутої кнопки під час виходу з попереднього вікна. Визначити коди натискання для всіх кнопок.
Лабораторна робота №13. Програмування мовою VBS. Типи даних. Константи. Змінні
Мета роботи
Освоєння понять алгоритмічної мови типи даних, константи та змінні.
1. Типи та підтипи даних у мові VBS.
2. Константи в алгоритмічній мові.
3. Змінні в алгоритмічній мові.
Короткий виклад навчального матеріалу
1 Типи та підтипи даних у мові VBS
Кожна мова програмування призначена для обробки інформації (даних) різних типів. Використовувані типи даних та методи їх позначення та обробки можуть дещо відрізнятись у різних алгоритмічних мовах.
Типи даних визначають:
У мовіMicrosoft Visual Basic Scripting Editionвизначено єдиний тип даних –Variant. Це спеціальний тип, який може містити різні види інформації. Усі функції мови також повертають дані типуVariant.
Різні види інформації, яка може бути у типі
Variant, називаються підтипами.
У таблиці 2.1 наведено підтипи даних, які можуть утримуватись у типіVariant.