Имя переменной связывает
переменную с некоторой областью памяти. Имена переменных позволяют их различать
в программе, осуществлять доступ к различным участкам памяти для записи данных и
их извлечения.
Переменные в программе перед их
использованием нужно объявлять (декларировать). При объявлении переменной надо
указать, что объявляется переменная, задать имя переменной и указать ее тип. Тип указывает способ
представления переменной. В переменных можно хранить практически любые типы
данных: число, строку текста, экземпляр объекта, элементы управления и тд. В Visual Basic
различают две группы типов данных: основные (иногда их называют базовыми или
встроенными) и типы данных, определяемые пользователем.
Для эффективного использования
памяти необходимо правильно выбирать тип переменной. В таблице 7.2 приведены
базовые типы переменных Visual Basic, необходимая для их размещения память и
диапазон возможных значений.
Базовые типы переменных Visual
Basic
Таблица 7.2.
Тип |
Хранимая информация |
Занимаемая память |
Интервалы значений |
| ||||||||||||
Целочисленные
типы
|
| |||||||||||||||
Byte |
Целые числа |
1 байт |
от 0 до 255 |
| ||||||||||||
Boolean |
Логические значения |
2 байта |
True (Истина) или False (ложно) |
| ||||||||||||
Integer |
Целые числа |
2 байта |
от -32768 до 32767 |
| ||||||||||||
Long Integer |
Длинные целые числа |
4 байта |
+/-2.1E9 |
| ||||||||||||
Типы с плавающей
точкой
|
| |||||||||||||||
Single |
Вещественные числа одинарной точности с плавающей точкой |
4 байта |
от -3.402823Е38 до -1.401298Е-45 для отрицательных чисел и от 1.401298Е-45 до 3.402823Е38 для положительных |
| ||||||||||||
Double |
Вещественные числа двойной точности с плавающей точкой |
8 байт |
от -1.7976313486232Е308 до -4.94065645841247Е-324 для отрицательных чисел и от 4.94065645841247Е-324 до 1.7976313486232Е308 для положительных |
| ||||||||||||
Строковые
типы
|
| |||||||||||||||
String (строка фиксированной длины) |
Текстовая информация (строка) |
1 байт на каждый символ |
От 1 до 65400 |
| ||||||||||||
String (строка переменной длины
длины)
|
Текстовая информация (строка)
|
10 байт + 1 байт на каждый символ |
От 0 до двух миллиардов символов |
| ||||||||||||
Объектные
типы
|
| |||||||||||||||
Object |
Рисунок или ссылка на любой другой объект |
4 байта |
Ссылка на объект |
| ||||||||||||
Типы Variant |
| |||||||||||||||
Variant |
Значения любого из перечисленных типов данных |
16 байт для чисел, 22 байта + 1 байт на каждый символ для строк |
Любое числовое или строковое значение |
| ||||||||||||
Прочие
типы
|
| |||||||||||||||
Currency |
Числа, имеющие до 15 цифр до десятичной точки и 4 цифры после нее (денежные единицы) |
8 байт |
от
-922337203685477.5808
до 922337203685477.5808 |
| ||||||||||||
Date |
Информация о дате и времени |
8 байт |
от 1 января
31-го декабря
|
| ||||||||||||
Decimal
|
Десятичное число |
14 байт |
Целое – 29 знаков Вещественное – 27 знаков после запятой |
| ||||||||||||
[Static / Public / Private] Dim
ИмяПеременной1[ As Тип1]
где
Dim (Размер) - ключевое слово, которое сообщает Visual Basic, что
декларируется переменная и резервируется область памяти для ее
хранения;
ИмяПеременной - имя переменной
(идентификатор, не входящий в перечень ключевых слов Visual
Basic);
As (Как) - ключевое слово, которое сообщает
Visual Basic, что определяется тип данных для переменной;
Тип - тип данных для объявляемой
переменной;
Private (Частный), Public
(Общий)- ключевые слова, определяющие область видимости
переменной;
Static (Статический)- ключевое
слово, которое определяет, сохраняет ли переменная свое значение при завершении
блока программы (процедуры, функции) и выходе из него.
При подготовке кода программы
среда программирования оказывает помощь пользователю: после набора ключевого
слова As раскрывается список, в котором наряду с другими типами объектов,
указаны и базовые типы переменных. Тип переменной можно установить, дважды
щелкнув на имени типа в этом списке или нажав клавишу [Tab].
Другим способом явного объявления переменных
является указание типа с помощью суффикса. В этом случае тип данных переменной
определяется с помощью добавления в конец ее имени специального символа описания
типа - суффикса. Поэтому использование ключевого слова As не требуется.
Явное объявление переменных с помощью суффикса
имеет следующий синтаксис:
[Static / Public /
Private] Dim ИмяПеременнойСуффикс
Наапример:
Dim strInputMsg$ - объявляется
переменная типа “строка” (String);
Static sngCalcAverage! - объявляется переменная
типа Singl;
Private intNumVal% - объявляется
переменная типа “целое” (Integer).
В таблице 7.3 приведены типы переменных и
соответствующие им суффиксы, применяемые при декларации
типов.
Тип переменной
|
Суффикс
|
Integer |
% |
Long |
& |
Single |
! |
Double |
# |
Currency |
@ |
String |
$ |
Byte |
Нет |
Boolean |
Нет |
Date |
Нет |
Object |
Нет |
Variant |
Нет |
Неявное объявление переменных
осуществляется также двумя способами. Первый способ заключается в использовании
оператора DefTип_Данных. Этот оператор устанавливает тип данных для переменных,
параметров процедур, и тип возвращаемого значения для процедур типа Function и
Property Get, имена которых
начинаются с определенных символов. Синтаксис оператора имеет
вид:
DefТип_Данных ДиапазонБукв
[,ДиапазонБукв]…
Где Тип_Данных –сокращенное
название типа данных;
ДиапазонБукв – указывает границы диапазона имен, для которых задается тип
данных по умолчанию.
Например:
DefInt A-K - переменные, имена которых начинаются с символов А -
K, будут иметь тип
Integer.
DefStr L-Z - переменные, имена которых начинаются с символов L -
Z, будут иметь строковый
тип.
При втором способе неявного
объявления переменная декларируется просто указанием ее имени, например MyVal
или MyName$, в тексте программы.
Следует отметить, что хороший
стиль программирования предполагает использование явной декларации с помощью
ключевых слов Dim, Private, Public, Static. Неявное объявление переменных без
необходимости применять не следует, так как в последующем могут возникнуть
непредвиденные ошибки. Для того, чтобы избежать неприятностей в случае ошибочной
записи имени переменной, необходимо в общей области программного модуля помещать оператор Option Explicit. В
этом случае Visual Basic будет расценивать любую неявно объявленную переменную
как ошибочную, например:
Option Explicit
Dim intMyNumber As
Integer ‘ Явное объявление переменной
DefInt i
‘ Неявное объявление переменной
intMyNumber=10 ‘ Для явно декларированной
_
переменной ошибки не будет
intMyNum=10 ‘При ошибочном указании имени
_
Option Explicit включит предупреждение об ошибке
intNamber=6
‘Для неявно декларированной _
переменной будет выдано сообщение об ошибке
Примеры декларации
переменных:
Dim x As Integer, strName$, lngOld&
Dim y As
Integer