- •4.Переменные
- •Объявление Переменной
- •Имя переменной
- •Тип переменной
- •Неявное объявление переменной
- •Явное объявление переменной
- •Зона видимости переменных Общедоступные переменные
- •Локальные переменные
- •Статические переменные
- •Оператор Option Explicit
- •Константы Пользовательские константы
- •Внутренние константы Visual Basic
- •Разделители строк
- •Комментарии
4.Переменные
Объявление Переменной 1
Имя переменной 1
Тип переменной 2
Неявное объявление переменной 3
Явное объявление переменной 3
Зона видимости переменных 3
Общедоступные переменные 3
Локальные переменные 4
Статические переменные 4
Оператор Option Explicit 4
Константы 4
Пользовательские константы 4
Внутренние константы Visual Basic 5
Разделители строк 5
Комментарии 5
Объявление Переменной
Переменные используются во время выполнения программы для временного хранения данных в оперативной памяти компьютера. Для определения переменной нужно сообщить компилятору следующие данные:
имя переменной используется для привязки переменной к определённому месту в оперативной памяти компьютера;
тип переменной определяет вид информации, которая хранится в ней;
значение переменной – данные, которыми оперирует программа.
С любой переменной можно выполнить две основные операции: присвоить ей значение и опросить её значение.
Имя переменной
Имя переменной выбирается произвольно, но должно быть составлено в соответствии со следующими правилами:
имя переменной должно начинаться только с буквы (но не с цифры или специального символа!);
в имени переменной можно использовать любые буквы (в том числе и кириллицу), цифры и символ подчёркивания “_”. Нельзя использовать пробелы и знаки препинания;
имя переменной должно быть уникальным в пределах зоны её видимости (см. далее);
длина имени переменной не должна превышать 255 символов;
имя переменной не должно совпадать со служебным словом
При выборе имени переменной нужно учитывать два противоречивых требования. С одной стороны имя переменной должно быть как можно более коротким, чтобы ускорить ввод текста, а с другой – достаточно информативным, чтобы облегчить отладку программы. Если имя переменной состоит из нескольких слов, то эти слова набираются друг за другом с прописной буквы без пробелов. Этот приём облегчает чтение программы и снижает утомляемость программиста. Очень часто программисты используют для имён переменных специальные префиксы, в которых кодируют их тип. Префикс состоит из одной или двух строчных букв, за которым следует имя переменной, написанное с большой буквы.
Тип |
Префикс |
Описание |
Пример |
String |
s |
Текстовый |
sFileName |
Integer |
n |
Целое число одинарного размера |
nAge |
Long |
l |
Целое число двойного размера |
lCount |
Single |
f |
Вещественный тип, с плавающей точкой, одинарной точности |
fAvarenge |
Double |
d |
Вещественный тип, с плавающей точкой, двойной точности |
dVolumRatio |
Currency |
c |
Денежный тип, используется для финансовых расчётов |
cPayRate |
Boolean |
b |
Логический тип, используется для представления двоичных значений |
bTaxable |
Тип переменной
В переменных можно хранить числа, текст, логические данные и ссылки на объекты программы. Для каждой переменной определённого типа компилятор выделяет определённое количество оперативной памяти. Необходимо использовать такие типы переменных, чтобы данные занимали минимальный объём памяти.
Тип |
Значение |
Размер |
Диапазон |
String |
Динамически изменяемая строка |
1 байт / символ |
До 2 миллиардов символов |
String*N |
Строка фиксированной длины |
N байт |
До 65000 символов |
Byte |
Целое число |
1 байт |
0 … 255 |
Integer |
Целое число одинарного размера |
2 байта |
-32 768 … +32 767 |
Long |
Целое число двойного размера |
4 байта |
-2 147 483 648 … +2 147 483 647 |
Single |
Вещественное число с плавающей точкой одинарной точности |
4 байта |
(10-45 … 31038) 7 значащих цифр |
Double |
Вещественное число с плавающей точкой двойной точности |
8 байт |
(510-324 … 1,810308) 15 значащих цифр |
Currency |
Вещественное число с фиксированной точкой. |
8 байт |
91014 15 цифр в целой части и 4 – в дробной |
Boolean |
Логическое значение |
1 байт |
True или False |
Date |
Дата и время |
8 байт |
01.01.100 … 12.31.9999 |
Object |
Экземпляр класса; Объект типа OLE |
4 байта |
|
Variant |
Любой из перечисленных выше типов данных |
16 байт +1 байт / символ |
|
Decimal |
Целое число |
16 байт +1 байт / символ |
79228162514264337593543950335 |
Десятичное число |
7,9228162514264337593543950335 |
Boolean
Данные типа Boolean могут содержать только значения True или False. В Visual Basic значению True соответствует 1, a False – 0. Если переменной этого типа присваивается значение 0, то переменная содержит False. Все другие значения подразумевают True:
Byte, Integer, Long
Данные типа Byte, Integer, Long содержат лишь целые цифровые значения из различных диапазонов. Если переменной такого типа присваивается 1.4, то возвращается 1, если 1.5 — возвращается 2
Single, Double, Currency
Данные типа Single и Double содержат числа с плавающей запятой из разных диапазонов значений. Данные типа Currency также служат для представления чисел с плавающей запятой, но число разрядов после запятой ограничено четырьмя. Этого достаточно при выполнении денежных расчетов. В Visual Basic в качестве разделителя целой и дробной частей используется точка.
Variant
Необходимо иметь в виду, что хотя и переменная типа Variant может содержать данные любого типа, её нужно использовать, в крайнем случае, поскольку для её хранения нужно больше оперативной памяти и больше времени для обработки данных. Кроме того, многие встроенные функции и процедуры не поддерживают этот тип данных.
Decimal
Особенность данных этого типа заключается в том, что они могут использоваться лишь внутри переменной типа Variant, т.е. объявить переменную типа Decimal нельзя. Они позволяют использовать числа с количеством знаков после запятой от 0 до 28, но не могут объявляться непосредственно оператором Dim.
Date
Данные типа Date специально предназначены для обработки информации о дате и времени. Чтобы для Visual Basic было понятно, что под указанным значением подразумевается дата и/или время, нужно поместить его между двумя знаками #. При вводе следует пользоваться американским форматом. Если же при вводе данных этого типа использовать кавычки ("), что допустимо, то следует применять установленный в системе формат даты и времени.
String
Данные типа String служат для хранения строк. Каждый символ, сохраненный в переменной типа String, занимает 1 байт памяти. Поэтому операционные системы разных платформ поддерживают различную максимальную длину строки. В 16 разрядных системах (например, в Windows З.х) это составляет около 65000 символов, в 32 разрядных системах (Windows 95/98 или Windows NT) – около 2 млрд. символов. Для того чтобы Visual Basic отличал строку от имени переменной, строка заключается в парные кавычки.
Variant – хамелеон среди переменных
Тип данных Variant — это хамелеон. Он устанавливает тип данных в зависимости от содержимого. Если в такой переменной содержится число, то переменная типа Variant принимает соответствующий тип данных. Если ее содержимое – число 5, то она принимает тип Integer; если 1.2 – Double; если текст, то String. Переменная типа Variant изменяет свой тип во время выполнения программы.
Переменные типа Variant имеют большое практическое значение, однако при их применении возникают проблемы. Во-первых, при чтении кода не видно, какой внутренний тип имеет переменная в данный момент. Это может крайне затруднить обнаружение логических ошибок программирования. Во вторых, данные этого типа из-за частых внутренних преобразований занимают больше памяти, чем аналогичные данные, объявленные с указанием явного типа.