PoprzedniaWyżejGłównaSpis treściIndex hasełZnajdźBokGora
BokGora

Google
 

Zasięg zmiennych


Każda zmienna w programie Visual Basic ma jeden z następujących zasięgów:

Zmienne na prywatnym poziomie procedury


Zmienna z zasięgiem prywatny poziom procedury jest widoczna dla jej procedury macierzystej - procedury, w której została zadeklarowana. Na przykład, jeżeli mamy trzy różne procedury, w których została zadeklarowana zmienna intLiczba, możemy zmodyfikować intLiczba w dowolnej procedurze bez wpływu na intLiczba w pozostałych procedurach.
Aby utworzyć zmienną na prywatnym poziomie procedury należy ją zadeklarować w procedurze ze słowem Dim.

Na przykład, w następującej procedurze Sub, intLiczba jest zmienną Integer prywatnego poziomu procedury:

Sub Oblicz()
   Dim intLiczba As Integer
   intLiczba=10
   varWynik = intLiczba * 10
End Sub

Możemy również utworzyć zmienne prywatnego poziomu procedury nie przez zadeklarowanie ich, a przez umożliwienie ich automatycznego zadeklarowania przez Visual Basic jako Variant (jeżeli nie występuje Option Explicit).W powyższym przykładzie varWynik jest zmienną prywatnego poziomu procedury typu Variant.
Zmienne prywatnego poziomu procedury są przydatne do tymczasowych obliczeń, których wyniki nie muszą być przekazywane do innych procedur.
Visual Basic nie jest zaopatrzony w zmienne publicznego poziomu procedury. Wszystkie zmienne na poziomie procedury są prywatne.


na górę strony...

Zmienne prywatnego poziomu modułu


Zmienne z zasięgiem prywatnego poziomu modułu są widzialne dla wszystkich procedur w ich macierzystym formularzu lub module, ale nie dla innych formularzy lub modułów. Na przykład, jeżeli zadeklarowano sngLiczba jako zmienną prywatnego poziomu modułu, każdy wiersz kodu w tym formularzu, który odnosi się do sngNumber, będzie odnosił się do tej zmiennej.
Aby utworzyć zmienną prywatnego poziomu modułu, należy użyć Private w celu zadeklarowania zmiennej prywatnej w części General Declarations formularza lub ogólnego modułu.

Przykład zadeklarować sngLiczba jako zmiennej Single prywatnego poziomu modułu:

Private sngLiczba As Single

Zmienne poziomu modułu są przydatne do obliczeń, których wyniki mają być wspólne dla różnych procedur w jednym formularzu lub module.
Moduł odnosi się zarówno do plików typowego modułu, jak i plików formularza (które czasami są nazywane plikami modułu formularza). To dlatego zmienne poziomu modułu są widzialne dla typowych modułów i formularzy.


na górę strony...

Zmienne publicznego poziomu modułu


Zmienne z zasięgiem publicznego poziomu modułu są widzialne dla każdej procedury w każdym formularzu w całym projekcie. Jeżeli zadeklarowano strKomunikat jako zmienną publicznego poziomu modułu, każdy wiersz kodu w każdym formularzu i module, który ma dostęp do strKomunikat, będzie miał dostęp do tej zmiennej.
Aby utworzyć zmienną publicznego poziomu modułu, należy użyć instrukcji Public w celu zadeklarowania zmiennej publicznej w części General Declarations typowego modułu (ale nie formularza).

Przykład deklaracji strKomunikat jako zmiennej String publicznego poziomu formularza:

Public strKomunikat As String

Zmienne publicznego poziomu modułu są przydatne do obliczeń, których wyniki powinny być wspólne dla całości projektu ze wszystkimi formularzami i/lub modułami.


na górę strony...

Przesłanianie

Visual basic umożliwia deklarowanie tej samej nazwy dla zmiennych lub stałych symbolicznych różnych zasięgów. Na przykład, można zadeklarować dwie zmienne intNumber w ogólnym module: jedną zmienną publiczną, a drugą zmienną prywatną. Która z tych dwóch zmiennych będzie używana w Visual Basic zlaeży od tego, która część kodu została uruchomiona, kiedy została zastosowana zmienna.

Jeżeli procedura, w której zadeklarowaliśmy prywatną zmienną intNumber, została uruchomiona, Visual Basic będzie używał zmiennej prywatnej intNumber.

Jeżeli ta procedura nie została uruchomiona, Visual Basic zastosuje zmienną publiczną intNumber.

Zmienne publiczne zostają przesłonięte przez zmienne prywatne o tej samej nazwie. Wartość zmiennej publicznej nie ulegnie zmianie a każde odwołanie do zmiennej będzie się odnosiło do zmiennej prywatnej.
Visual Basic zawsze używa zmiennej, która jest bliższa uruchomionemu kodowi.



na górę strony...


Google
 
Poprzednia | Wyżej | Strona główna | Spis Treści | Index haseł | Opis VB

BokDol
PoprzedniaWyżejGłównaSpis treściIndex hasełZnajdźBokGora
BokGora