Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций.docx
Скачиваний:
11
Добавлен:
01.07.2025
Размер:
425 Кб
Скачать
☆
    1. Области видимости переменных, процедур и функций

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

Form Class Module

Function fTwo ( )

Dim b As String

End Sub

(General) (Declaratio

ns)

(General) (Declarations)

(General) (Declarations)

Sub fOne( )

Dim a As Integer

End Sub

Sub cOne( )

Dim c As Integer

End Sub

Sub mOne( )

Dim a As Integer

End Sub

Function cTwo ( )

Dim a As String

End Sub

Function mTwo ( )

Dim d As String

End Sub

П

(General) (Declaratio

Dim A As Single

(General) (Declaratio

Dim B As String

(General) (Declaratio

Dim A As Integer

Sub fOne

End Sub

Function fTwo

End Function

Sub bOne

End Sub

Function bTwo

End Function

Sub dOne

End Sub

Function dTwo

End Function

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

Form Class Module

w Class Module

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

Form Class Modul

(General) (Declaratio

(General) (Declaratio

(General) (Declaratio

Public A As Single

Sub fOne

End Sub

Sub bOne

End Sub

Sub dOne

End Sub

Function fTwo

End Function

Function bTwo

End Function

Function dTwo

End Function

На рисунке показана одна глобальная переменная, объявленная в стандартном модуле как Puplic. Эта переменная доступна во всех процедурах, формах ,модулях всего проекта.

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

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

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

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

Static Имя переменной As Тип переменной

Чтобы объявить статическими все локальные переменные процедуры, следует записать ключевое слово Static В заголовке процедуры.

Static Sub |Function| ([Аргументы])

Пример:

Private Sub Command1_ Click( )

Static A As Integer

Dim B As Integer

A = A +1

B = B + 1

Print A

Print B

End Sub

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