Объявление переменных. Оператор Dim
Большинство людей предпочитают не использовать идентификаторы для обозначения переменных. Вместо этого они используют оператор Dim, такая операция носит название - объявления. Например:
Dim A As Integer
Dim B As String
Объявления переменных можно комбинировать в одной строке.
Dim A As Integer, Name As Integer
Общей ошибкой является использование следующего выражения:
Dim X, Y, Z As Integer
В предположение того, все переменные будут целочисленные. Фактически X и Y будут объявлены как Variant и только Z как Integer. Чтобы избежать этого, необходимо каждый раз использовать идентификатор типа. Если переменная объявлена при помощи оператора Dim, в случае использования переменной с тем же именем и другим идентификатором типа произойдет ошибка «двойное определение» при загрузке программы.
При присвоении переменной типа Variant, можно использовать оператор - Dim без приставки - AS. Например:
Dim FOO
Необходимость объявления переменных.
Одной из наиболее общих ошибок в программе является использование необъявленных переменных. Проблема состоит в том, что Visual Basic позволяет создать переменную, как только она один раз встречается в программе. Если перепутать имя переменной, Visual Basic создает новую с похожим именем и присваивает ей значение по умолчанию, что тут же приводит к ошибке. Эту ошибку трудно обнаружить, поскольку имена переменных очень похожи.
Простейший способ избежать подобной ошибки состоит в принудительном объявлении всех переменных. Visual Basic при ошибке в имени выдает сообщение. В Visual Basic предусмотрена такая возможность, но по умолчанию она не используется. Оператор, необходимый для этого называется Option Explicit.
Для общей проверки переменных в программе необходимо оператор Option Explicit разместить в раздел General.
Для того чтобы разместить данный оператор в разделе General необходимо:
Открыть окно Code
Выбрать объект General из списка объектов в окне Object
Выбрать Declaration из списка Procedure
Ввести Option Explicit.
Изменение значений по умолчанию для типов
Предположим, в программе все переменные должны быть целочисленными. Для удобства в этом случае используется оператор DefType. Для всех целочисленных переменных это выглядит следующим образом:
DefInt A-Z
Основные формы операторов различных DefType
Функции | Результат |
DefInt DefLng DefSng DefDbl DefCur DefStr DefVar DefBool DefByte DefDate | Диапазон букв для Integer Диапазон букв для Long Integer Диапазон букв для Single Precision Диапазон букв для Double Precision Диапазон букв для Currency Диапазон букв для String Диапазон букв для Variant Диапазон букв для Boolean Диапазон букв для Byte Диапазон букв для Date |
Соглашения о типах можно всегда изменить, используя идентификатор, или оператор Dim для конкретной переменной. Обычно оператор DefType размещает в том же разделе (General), что и оператор Option Explicit.
Область видимости переменных
Программисты применяют термин - область видимости, когда хотят сказать о возможности использования переменной из одной части программы в другой её части. В Visual Basic переменные объявление внутри процедуры является изолированными друг от друга. В терминах программирования это означает, что данные переменные являются локальными.
Кроме того, Visual Basic позволяет объявить переменные, которые будут доступны для всех процедур формы. Такие переменные называют глобальными переменными уровня формы, как и оператор Option Explicit - объявление переменных уровня формы происходит в разделе Declaration
- Например: если открыто окно Code, можно выбрать Declaration для объекта General и ввести:
- Dim AZ As Currency