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

Глобальные переменные

Переменные контейнера

Локальные переменные

Область видимости переменных

Переменные

End Function

End Sub

 

Объявление функции состоит из заголовка, включающего зарезервированное слово Function, тела и конечной строки End Function:

 

Function

Инструкции (тело функции)

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

Синтаксис объявления переменной:

 

Static/Public/Private/Dim ИмяПеременной [As Тип]

 

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

Зарезервированное слово Dim (размерность) при объявлении переменных применяется чаще всего, например:

 

Dim b15 As Single, Количество As Integer

Dim S29 As String

 

Здесь явно объявлены три переменные: b15 типа Single, Количество типа Integer и S29 типа String.

 

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

локальная: переменная доступна только внутри процедуры или функции, в которой она объявлена;

контейнера: переменная доступна только внутри той формы или того модуля, где она объявлена;

глобальная: переменная доступна во всем проекте.

Локальными являются переменные, объявленные внутри процедуры или функции. Они доступны только внутри этой процедуры или функции.

 

Переменные контейнера определяются в главной секции(General)и доступны только внутри соответствующего контейнера, т.е. формы, или модуля.

 

Глобальные переменные определяются в главной секции(General)модуля. При этом вместо оператора Dim используется зарезервированное слово Public. Глобальные переменные доступны во всех модулях и формах проекта.

 

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

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

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 (требовать объявления переменных) и, наконец, щелкнуть на кнопке ОК. Но это следует сделать до создания формы или модуля.