ЗМІСТ:
Microsoft Visual Basic – засіб розробки програмного забезпечення, створений і підтримуваний корпорацією Microsoft, який складається з мови програмування та її середовища. Мова Visual Basic успадкувала стиль і, частково, синтаксис свого предка – мови Бейсік. У той же час Visual Basic поєднує в собі процедури, елементи об'єктно-орієнтованих та компонентно-орієнтованих мов програмування. Середовище розробки VB містить інструменти для візуального конструювання інтерфейсу користувача.
Visual Basic вважається потужним засобом швидкої розробки прототипів програм, розробки додатків, що працюють з базами даних і взагалі для компонентного способу створення програм, що працюють під управлінням операційних систем сімейства Microsoft Windows.
Перше визнання розробниками Visual Basic отримав після виходу 3 версії. Остаточне визнання як повноцінного засобу програмування для Windows – при виході 5 версії. Версія VB6, що входить до складу Microsoft Visual Studio 6.0, стала по-справжньому зрілим і функціональним продуктом.
Visual Basic 6.0 вийшла усередині 1998. Після цього Microsoft різко змінила політику стосовно мов сімейства Basic. Замість розвитку Visual Basic було створено абсолютно новий програмний продукт – Visual Basic.net, перша версія якого з'явилася в 2001. Це принципово нова мова, що має, окрім синтаксису, дуже мало схожого з VB 6.0.
Visual Basic Classic (версії 5-6) дуже прив'язана до свого середовища розробки й до операційної системи Windows, оскільки вона є виключним інструментом написання Windows-додатків.
В принципі, можливості Visual Basic нічим не обмежені. Можна розширювати можливості Visual Basic за допомогою додаткових функцій. Visual Basic дозволяє використовувати бібліотеки динамічного компонування (DLL-бібліотеки), які також можуть сильно розширити можливості Visual Basic. Ці бібліотеки можуть бути написані на будь-якій мові програмування.
На Visual Basic можна написати будь-яку програму, – починаючи від програми, яка обслуговує рутинні операції введення даних, до складних інформаційних та комунікаційних систем. У США 60% програмних продуктів написані на Visual Basic. Є невеликі обмеження, наприклад, на Visual Basic не можна написати повноцінну DLL бібліотеку, драйвер пристрою, також у Visual Basic не можна використовувати асемблер.
Переваги:
висока швидкість створення програм із графічним інтерфейсом для Windows;
простий синтаксис, що дозволяє дуже швидко освоїти мову;
можливість як компіляції в машинний код, так і інтерпретації під час налагодження.
Недоліки:
підтримка операційних систем тільки сімейства Windows (виняток — VB1 for DOS);
відсутність механізму успадкування об'єктів. Існуючі в мові механізми дозволяють успадковувати тільки інтерфейси об'єктів, а не самі об'єкти;
вимагає встановлених бібліотек з динамічним зв'язуванням DLL для роботи програми.
Програма – це реалізація алгоритму в системі Visual Basic 6.0. Код програми – це послідовність команд (операторів). Команди містять ключові слова й параметри Visual Basic.
Основною структурною одиницею програми є рядок. В одному рядку може бути записано декілька команд. При цьому команди розділяються символом (:). Інколи команда доволі довга і не входить в один рядок. В цьому випадку використовується символ переносу рядка (_). Символу переносу рядка повинен передувати пропуск.
Не дозволяється розбивати переносом рядкові константи. У програмі використовуються коментарі, які пояснюють дії команд. Коментар – це довільний текст після знаку апострофа.
Програми в Visual Basic керуються подіями. Для кожного об'єкта в системі визначений перелік подій, що його стосується. Реакцію на дії можна запрограмувати. Для цього за допомогою редактора коду створюються процедури обробки подій.
Символи, що використовуються у Visual Basic наведені у таблиці 1.
Таблиця 1. Символи системи програмування Visual Basic
Функція – це оператор, що виконує певні дії та повертає результат роботи у програму. Функція може мати один або кілька аргументів, які беруться в дужки і відокремлюються між собою комами.
Стандартними стосовно Visual Basic 6.0 називаються такі функції, обчислення яких є складовими компонентами системи Visual Basic.
За призначенням вбудовані функції поєднуються в наступні групи:
• фінансово-математичні функції;
• функції перетворення типу;
• математичні функції;
• функції статусу;
• функції обробки рядків;
• функції дати та часу;
• функції для роботи з масивами;
• функції для роботи з файлами.
Vіsual Basіc підтримує ряд математичних операцій, які використовують у виразах.
Арифметичні вирази – це числа, змінні, функції з'єднані між собою знаками арифметичних операцій та (при необхідності) круглими дужками. Результатом арифметичного виразу є число. Всі операції з арифметичними виразами виконуються зліва направо з врахуванням пріоритету операцій та круглих дужок.
Таблиця 2. Математичні операції і відповідні їм символи операторів Vіsual Basіc
Встановлено наступний пріоритет операцій:
1. вираз в дужках ( );
2. піднесення до степеню (^);
3. присвоєння числу від'ємних значень;
4. множення та ділення (*, / );
5. ціле від ділення ( \ );
6. залишок від ділення (Mod);
7. додавання та віднімання (+,-).
Приклади друку виразів наведено у таблиці 3.
Таблиця 3. Приклади написання виразів
В мові Visual Basic для вирішення різних математичних задач існують вбудовані функції, які залежать від одного аргументу та які можна використовувати безпосередньо при обчисленнях будь-яких виразів (табл. 4).
Таблиця 4. Перелік основних математичних функцій
Всі тригонометричні функції використовують аргумент, який виражений в радіанах. Щоб перейти від градусів до радіан використовуємо формулу: αрад=α π/180.
Таблиця 5. Математичні функції, які можуть бути отримані із вбудованих математичних функцій Visual Basic
Крім математичних у мові Vіsual Basіc можна обчислювати значення логічних виразів, які мають тип Boolean, тобто набувають значення True (Істина) або False (Хибність). Значення таких виразів можна присвоювати змінним та властивостям логічного типу.
Таблиця 6. Логічні оператори
Приклад. Робота з логічними значеннями Dim x As Integer, y As Integer, A As Boolean
x = 5 : y = 2
A = x > y ' змінна A стане рівна True
A = x < y ' змінна A стане рівна False
Як видно з прикладу, записуючи два оператори в одному рядку, їх відокремлюють двокрапкою.
Логічний вираз складається з констант, змінних, функцій, які з'єднані між собою знаками арифметичних операцій, знаками відношень та логічними операціями.
У Visual Basic існують наступні логічні операції:
Not – заперечення ,(⌐)
And – кон'юнкція (логічне множення), (v)
Or – диз'юнкція (логічне додавання), (Λ)
Хоr – виключення ("строга" диз'юнкція),( )
Еог – еквіваленція, А ó В
Imp – імплікація, А→В
Логічні вирази, в яких відсутні знаки логічних операцій, називаються простими, а логічні вирази, в яких вони присутні, називаються складними. Результатом логічного виразу є два значення: True (Істина) – 1, або False (Хибність) – 0.
Результати логічних операцій наведено у таблиці 7.
Таблиця 7. Результати логічних операцій
Пріоритет виконання дій в логічних виразах:
обчислюються арифметичні вирази (якщо вони є);
виконуються операції відношень;
виконуються логічні операції в послідовності:
Not
And
Or, Xor
Imp
Eor
Приклад. Обчислити значення логічного виразу
(x > y) v х-у > 2 Λ х-0,5<4, де х=1,5; у=0,6.
Логічний вираз на Visual Basic записується так:
Not(x>y) And х-у>2 Or х- 0.5<4
Послідовність дій:
х > у → True (1):
х-у = 1,5 - 0,6 = 0,9 => 0,9 >2 → False (0);
х-0,5= 1,5-0.5=1 => 1 <4 →True(1);
Not (True) → False (0);
False (0) And False (0) = False (0);
False (0) Or True (1) = True (1).
Відповідь: в результаті виконання логічного виразу одержали значення True (1).
Логічні вирази застосовуються в операторах циклів While-Wend, Do-Loop та конструкціях if, Elseif та Select Case.
Функції обробки рядків Visual Basic наведені в таблиці 8. Вони служать для виконання операцій з рядками.
Таблиця 8. Функції обробки рядків
До даних типу дата/час можна застосовувати операції додавання і віднімання. Наприклад, результатом обчислення виразу Date-1 буде вчорашня дата.
До даних типу Date можуть застосовуватися ряд вмонтованих функцій, частину з яких подано у таблиці 9.
Таблиця 9. Деякі функції для роботи з датами
Значення текстового поля на формі має рядковий тип. Текстові поля використовуються для введення даних (зокрема, числових), що надалі можуть брати участь у ході виконання програми в різних обчисленнях. Щоб уникнути помилок обчислень, необхідно введені дані перетворити до числового типу. Для цього в VB є кілька функцій, поданих у таблиці 10 (де х – вираз).
Таблиця 10. Функції перетворення типів
Таблиця 11. Інші функції Visual Basic
Дамо додаткове пояснення до функції Rnd(x). Аргументом х при зверненні до функції Rnd(x) може бути довільне число. Для одержання довільного цілого числа в діапазоні [А, В] можна скористатись формулою:
Int((B-A+l)*Rnd(x))+A
Тобто, для одержання цілого числа в діапазоні [0, 9] можна використати формулу Int(10*Rnd(x)). Аргумент x можна опустити, тобто записати як Int(10*Rnd).
Синтаксис:
InputBox (<повідомлення> ,[<заголовок>], [<значення>], [<х0, у0>]),
де <повідомлення> та <заголовок> – довільна послідовність символів в подвійних лапках ( "),
<значення> – значення за замовчуванням змінної відповідного типу;
<x0,y0> – координати лівого верхнього кутка вікна вводу на екрані;
Якщо будь-який середній елемент оператора замовчується, ставляться коми.
Приклад. x = InputBox ( " x = " ,”Ввести”, , 4000, 400 )
В даному прикладі відсутнє значення за замовчуванням.
Зауваження! При відсутності координат вікна, вікно розташовується в центрі екрану.
При виконанні оператора з'явиться вікно в поле вводу якого слід ввести значення змінної відповідного типу. Якщо в операторі InputBox таке значення стоїть за замовчуванням, натиснути ОК. Введене значення присвоюється змінній і управління буде передано наступному оператору (при натисканні Отмена (Cansel) дія відміняється).
Синтаксис:
MsgBox (<список елементів виводу>)
Елементами виводу можуть бути:
довільна послідовність символів в подвійних лапках (у вікні оператора виведення без змін).
функція Str(a) де а – аргумент.
Аргументом функції Str може бути змінною або арифметичним виразом.
У випадку (а) в вікні оператора виводиться значення змінної. В випадку (б) обчислюється значення арифметичного виразу, яке виводиться у вікні оператора.
Елементи списку виводу з'єднуються між собою знаком + або &.
Приклад. Вивести на екран значення змінної х та x+sinx.
Варіант 1. MsgBox ( " х = " +Str (х) + " " + "х+sin(х) =" + Str(x+Sin(х))
Варіант 2. MsgBox ( " х = " & Str (х) &" " & " х + 8іп(х) = " & Str ( х + Sin(х)))
Рядок з кодом в програмі Visual Basic називається програмним оператором;
Програмний оператор може бути будь-якою комбінацією ключових слів Visual Basic, властивостей, функцій, операцій та символів, сукупність яких являє собою коректну інструкцію, що розпізнає компілятор Visual Basic .
Правила, що використовуються при побудові програмних операторів називають синтаксисом.
Синтаксис:
[Form n]. Print [ Список елементів виведення ],
де до списку елементів виведення можуть входити:
• константа;
• змінні (числові чи рядкові);
• вирази;
• послідовність символів у лапках;
• функції Таb, Spc, String$.
Form n – виведення у форму з номером n.
Дія: Print – виведення результатів у форму.
Елементи списку виведення розділяються між собою комою (,) або крапкою з комою (;). В випадку розділення комою (,) наступна інформація друкується з нової зони (одна зона має 14 позицій). У випадку розділення крапкою з комою (;) наступна інформація друкується безпосередньо після попередньої.
Якщо елементом списку виведення є вираз, то Visual Basic спочатку обчислює значення виразу і друкує результат. Список елементів виведення може бути і відсутнім. В такому випадку оператори виводять пустий рядок.
Синтаксис функції Таb:
Таb(n),
де n – номер позиції з якої буде відбуватися друк.
За допомогою операторів Print виводяться результати обчислень у вигляді десяткового числа цілого або з фіксованою комою, якщо результати знаходяться в інтервалі (0.01; 999999). В інших випадках виводяться результати з плаваючою комою.
Синтаксис функції Spc:
Spc(n),
де n – кількість позицій, які пропускаються при виконанні оператора Print.
Синтаксис функції String$:
String(n," символ"),
де n – кількість символів, які додаються при виконанні оператора Print.
Оператор Print виводить інформацію тільки у форму.
Оператор End негайно закриває додаток. Після оператору End не виконується жоден код і не відбувається жодна подія.
Питання для перевірки:
1. Як виконати перетворення рядкового значення в числове і навпаки? В яких випадках це необхідно?
2. Опишіть призначення функцій Val та Str.
3. Як задати значення змінної з використанням функції InputBox?
4. Поясніть синтаксис функції MsgBox. Які значення повертає функція MsgBox?
5. Наведіть приклади ситуацій, у яких доцільно використовувати діалогове вікно MsgBox.
6. Поясніть призначення кожного параметру в операторі MsgBox Str(V) & " грн", , "Загальна сума"
7. Чому в списку параметрів стоїть дві коми поспіль?
8. Поясніть правила використання методу Print.
9. Які можливості існують для позиціонування виведення значень на екран при застосуванні методу Print?
10. Яка функція використовується для керування виведенням числових значень?
11. В ході виконання програми змінна А отримала значення 12.567. Яке значення буде виведене в текстове поле Text1 після виконання такого оператора:
а) Text1.Text = Format(А, "#0.00");
б) Text1.Text = Format(А, "#0.0000")?
12. Які математичні функції призначені для перетворення значень дійсного типу в значення цілого типу?
13. Поясніть правила запису арифметичних виразів у програмі.
14. Як отримати випадкові числа? Наведіть приклади задач, для яких потрібні випадкові числа.
15. Які функції призначені для роботи з датою та часом?
16. Які символи використовуються для присвоєння значень змінним типу Date?
17. Як виконують об’єднання рядків?
18. За допомогою яких засобів можна виконати копіювання підрядка із заданого рядка? Поясніть на прикладі.
19. Що таке функція? Які з вбудованих функцій ви знаєте?
20. Що таке арифметичні вирази? Який пріоритет встановлено серед операцій?
21. З чого складається логічний вираз? Чим він відрізняється від арифметичного виразу?
22. Які логічні операції існують у Visual Basic?
23. Чи можна оголосити змінні без використання оператора Dim?
24. Які оператори вводу-виводу ви знаєте? Які вони мають формати? Наведіть приклади.
25. Які оператори можна використовувати для присвоювання та обміну значеннями?