Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Visual Basic.doc
Скачиваний:
105
Добавлен:
09.04.2015
Размер:
1.1 Mб
Скачать

Время жизни переменных

Инструкции тела процедуры или функции выполняются, когда происходит вызов соответственно процедуры или функции. Память для локальных переменных отводится при выполнении вызова и освобождается после его завершения. Таким образом, локально объявленные переменные при выходе из процедуры удаляются из памяти, а при новом вызове процедуры инициализируются заново. Их содержимое при этом не сохраняется, что не всегда желательно.

Статические переменные

VB дает возможность объявлять переменные как статические. При выходе из процедуры содержимое статической переменной сохраняется. При новом вызове этой процедуры переменная имеет значение, которое она имела при последнем выходе из этой процедуры. Содержимое статической переменной сохраняется в течение всего времени, пока существует в памяти форма или модуль.

Для объявления переменной как статической нужно просто вместо зарезервированного слова Dim использовать слово Static:

Private Sub Commandl_Click()

Static A As Integer

Dim В As Integer

A = A + 1

В = В + 1

.

.

.

End Sub

В одной строке можно объявить несколько переменных, но при этом следует для каждой указывать имя типа:

Dim a As Integer, b As Integer, c As Long

Dim e As Integer, f, g

В первой строке объявлены две переменные типа Integer и одна переменная типа Long. Во второй строке – одна переменная типа Integer, а две другие - типа Variant по умолчанию.

При объявлении переменной одного из числовых типов ей не только отводится ячейка памяти, но она еще получает значение 0.

При объявлении переменной типа Booleanона получает значениеFalse.

При объявлении переменной типа Stringона получает значение пустой строки “”.

Можно вообще не объявлять переменные. Переменная может появиться в программе, хотя она не была объявлена. Такой случай называется объявлением по умолчанию. Она будет иметь тип Variant.

Однако такая практика является источником ошибок и ее следует избегать. Чтобы VB расценивал любую необъявленную явно переменную формы или модуля как ошибочную, в главной секции формы или модуля первой должна следовать инструкция Option Explicit. Эта инструкция налагает требование явного объявления всех переменных этой формы или модуля. Если модуль содержит инструкцию Option Explicit, при попытке использования неописанного или неверно введенного имени переменной возникает ошибка во время исполнения программы.

Можно так настроить среду VB, что инструкция Option Explicit будет автоматически помещаться системой VB в главной секции создаваемой формы или модуля. Для этого следует выполнить команды меню Tools (сервис), затем Options (свойства), затем на вкладке Editor (редактор) установить флажок в окошке Require Variable Declaration (требовать объявления переменных) и, наконец, щелкнуть на кнопке ОК. Но это следует сделать до создания формы или модуля.

Константы

Основное отличие констант от переменных состоит в том, что их значение нельзя изменять в процессе выполнения программы. Они всегда сохраняют значение, присвоенное при разработке. Области видимости для констант определяются так же, как и для переменных. Константы бывают локальные, контейнера и глобальные.

При объявлении константы необходимо задать ее имя, тип, область действия и значение.

Синтаксис объявления константы:

[Public/Private] Const ИмяКонстанты [As Тип] = Значение

Приведенное определение синтаксиса означает, что объявление константы содержит обязательное слово Const (константа). Перед Const может стоять Private (локальная) или Public (общая), то есть одно из слов, задающих область действия константы. Затем должно следовать имя константы. После имени может стоять слово As и наименование типа. Затем должен следовать знак равенства и значение константы.

В определении подчеркнуто наименование той области действия, которая может быть задана по умолчанию.

В следующем примере описывается глобальная константа Ageцелого типа, и ей присваивается значение 54 (это объявление должно находиться в главной секции модуля).

Public Const Age As Integer = 54

Допускается также описание нескольких констант в одной строке. В этом случае, чтобы задать тип данных, надо указать название типа для каждой константы.

В следующем примере описываются локальные константы PiиWgкак Single.

Const Pi As Single = 3.14159, Wg As Single = 2.78

Примеры демонстрируют преимущество использования констант: например, при вычислениях с числом π в программе не нужно каждый раз вводить длинное число, а только имя константы Pi:

vCircle = Pi * vRadius ^ 2

Еще одно преимущество констант заключается в том, что если константа используется в нескольких процедурах, то при изменении ее значения оно будет правильно воспринято всеми процедурами.