4.2. Оголошення даних.

Всі дані, які використовуються програмою, повинні бути віднесені до певного типу даних. Ця процедура називається оголошенням даних. Оголошення повинно передувати використанню даних. Якщо дані будуть діяти лише в межах окремої процедури, то їх оголошення здійснюється в цій процедурі. Якщо дані повинні бути доступні всім процедурам форми, то вони повинні оголошуватись в розділі General форми. Якщо ж дані повинні бути доступними в межах всього проекту, то вони повинні бути оголошені в модулі цього проекту.

Оголошення даних має такий вигляд:

Dim змінна As тип даних

де Dim та As – службові слова.

VBA не дозволяє секційне оголошення даних, тобто, для кожного об’єкту потрібно вказати його тип. Якщо програміст з якоїсь причини не сказав тип даних для об’єкту, VBA оголосить такий об’єкт автоматично як типу Variant. Однак таке оголошення має недоліки: по-перше, призводить до неефективного використання пам’яті комп’ютера, а по-друге, може бути наслідком невірної роботи програми.

Приклади оголошення даних:

Dim X as Integer, Y As single, S As String

Dim A,B,C As Integer

В другому прикладі цілочисельною буде оголошена лише третя змінна, перших для будуть оголошені самою мовою VBA як дані типу Variant.

Після завершення роботи програми значення змінних ініціалізуються, тобто при повторному запуску програми їх попередні значення не запам’ятовуються.

VBA дозволяє також спрощене оголошення даних – за допомогою суфіксів. Таке оголошення займає менше місця в лістингові програми, але, з іншого боку, є і менш зрозумілим. Відповідність суфіксів типам даних наведена в табл. 4.2.

Таблиця 4.2. Суфікси оголошення я типів даних.

 

даних

Суфікс

Integer

%

Single

!

Double

#

String

$

 

Значення змінним надаються за допомогою оператора присвоювання. На відміну від інших мов програмування, VBA не має операторів вводу та виводу даних. Однак введення можна здійснювати шляхом зчитування даних з текстового поля і присвоєння їх змінним. Аналогічно можна виводити результати. Однак слід врахувати, що властивість Text текстового поля, в якій містяться дані, має тип String, а змінні можуть мати інший тип, наприклад, числовий. Тому для відповідності даних змінним потрібно використовувати функції перетворення типів. Основні з них наведені в табл. 4.3. Тип аргументу в них передбачається довільний.

Таблиця 4.3. Функції перетворення типів.

 

Функція

Тип результату

Cint

Integer

CSng

Single

Cdbl

Double

CStr

String

 

Разом з ключовим словом Dim при оголошення змінних може використовуватись ключове слово Static. Відмінність полягає у тому, що змінні, оголошені через Static, зберігаються свої значення. Тобто, наступний запуск програми дозволяє використовувати в ролі початкових значень змінних їх значення від попередніх запусків. Таке оголошення є зручним при підрахуванні сум з накопиченням.

3. Запис виразів.

Як вже зазначалось раніше, значення змінних задаються за допомогою оператору присвоювання. Той в свою чергу задає правила обчислень цих значень. Це здійснюється за допомогою виразу в правій частині оператору. Вираз являє собою сукупність даних, операцій та функцій їх опрацювання. При записі виразів можна використовувати дужки. Правила обчислення виразів стандарті для програмування. Для числових типів даних арифметичні операції наведені в табл. 4.4, а функції – в табл.. 4.5.

Таблиця 4.4. Позначення математичних операцій

 

Тип

Дані

Пам’ять (байт)

Інтервал значень

Integer

Цілі числа

2

-32768..+32767

Long

Цілі числа

4

±2.1*109

Single

Дійсні числа

4

За модулем
1.4*10-45..3.4*1038

Double

Дійсні числа

4

За модулем
4.9*10-324..1.8*10308

Boolean

Логічні значення

2

True або False

String

Текстові дані

1 байт на символ

Рядки довжиною до 65000 символів

Date

Дата або час

8

1.01.100 .. 31.12.9999

Variant

Довільні значення

16 + 1 байт на символ

 

Приклади запису виразів:

Математичний вираз

Запис виразу мовою VBA

(A+B)/(A*B*C)

SQR(X^2+1) – 2*X/EXP(X+1)

SIN(X)^2 – COS(2*X)

Запис виразів можна здійснювати символами будь-якого регістру.

Для рядкових величин визначена операція конкатенації (об’єднання) рядків. Він має позначення &. Однак для об’єднання рядків можна використовувати і знак + . Він є більш звичним та зрозумілим.

Числові та рядкові величини можна також порівнювати. Але результатом в цьому випадку буде логічна величина. Використання логічних величин та операцій порівняння буде розглянуто у подільних матеріалах. Використання змінних розглянемо на прикладі.

Завдання 4.1. Арифмометр.

На форму помістити 4 кнопки та 3 текстових поля. При натисканні однієї з кнопок повинна виконуватись одна з чотирьох основних арифметичних операцій. Дані вводяться в перших двох текстових полях, результат повинен виводитись у третьому полі.

Вид інтерфейсної частини наведений на рис 4.1. Список об’єктів та їх властивостей наведений в табл. 4.6.

 

Рис 4.1 Вікно форми завдання 4.1.

Таблиця 4.6 Значення властивостей об’єктів для завдання 4.1.

 

Об’єкт

Властивість

Значення

Кнопка

Name

Key1

Caption

+

Кнопка

Name

Key2

Caption

-

Кнопка

Name

Key3

Caption

*

Кнопка

Name

Key4

Caption

/

Текстове поле

Name

Txt1

Text

Текстове поле

Name

Txt2

Text

Текстове поле

Name

Txt3

Text

Надпис

Name

Lb1

Caption

Перше число

Надпис

Name

Lb2

Caption

Друге число

Надпис

Name

Lb3

 

Код проекту має вигляд:

Dim X As Single, Y As Single, z As Single

Private Sub Key1_Click()

X = CSng(Txt1.Text)

Y = CSng(Txt2.Text)

z = X + Y

Txt3.Text = CStr(z)

End Sub

Private Sub Key2_Click()

X = CSng(Txt1.Text)

Y = CSng(Txt2.Text)

z = X - Y

Txt3.Text = CStr(z)

End Sub

Private Sub Key3_Click()

X = CSng(Txt1.Text)

Y = CSng(Txt2.Text)

z = X * Y

Txt3.Text = CStr(z)

End Sub

Private Sub Key4_Click()

X = CSng(Txt1.Text)

Y = CSng(Txt2.Text)

z = X / Y

Txt3.Text = CStr(z)

End Sub

 

 

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
25 26 27 28  Наверх ↑