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

Google
 

Deklarowanie zmiennych

Deklaracje zmiennych :
Dim | Private | Public | Static | Typ domyślny: Variant

Wymuszanie deklaracji zmiennych:
Option Explicit

Deklarowanie zmiennych przy użyciu Dim


Deklarując zmienną określa się typ danych jaki może przyjmować ta zmienna. Aby to zrobić, należy użyc instrukcji Dim.
Słowo Private określa deklarowanie zmiennej prywatnej a Public zmiennej publicznej.

Składnia instrukcji Dim, Private i Public:

Dim [WithEvents] NazwaZmiennej[([zakres])] [As [New] typ] [, [WithEvents] NazwaZmiennej[([zakres])] [As [New] typ]] . . .
Private [WithEvents] NazwaZmiennej[([zakres])] [As [New] typ] [, [WithEvents] NazwaZmiennej[([zakres])] [As [New] typ]] . . .
Public [WithEvents] NazwaZmiennej[([zakres])] [As [New] typ] [, [WithEvents] NazwaZmiennej[([zakres])] [As [New] typ]] . . .

Składnia instrukcji Dim, Private i Public składa się z części:
WithEvents (Opcjonalne). Słowo kluczowe, które określa, że zmienna NazwaZmiennej obiektowa jest używana do reagowania na zdarzenia wywołane przez obiekty ActiveX. Jest to słowo kluczowe poprawne tylko w module klasy (class module). Można zdeklarować wiele pojedynczych zmiennych używając WithEvents ale nie można stworzyć tablicy z WithEvents. Nie można stosować New z WithEvents.
NazwaZmiennej nazwa zmiennej zgodna ze sposobami nazywania zmiennych
zakres (Opcjonalne) Określa zakres zmiennej tablicowej, można określić do 60 zakresów (wymiarów) tablicy. Składnia zakresu:
[DolnaWartość To] GórnaWartość [, [DolnaWartość To] GórnyWartość]...
Jeżeli DolnaWartość nie jest określona, to dolny zakres jest zależny od wartości ustawionej w Option Base. Jeżeli wyrażenie Option Base nie występuje, to dolny zakres jest przyjmowany jako 0.
New (Opcjonalnie). Słowo kluczowe, które pozwala na ukryte stworzenie obiektu. Jeżeli zostanie użyte słowo New podczas deklarowania zmiennej obiektowej, nowy obiekt jest tworzony przy pierwszym odwołaniu do niego, nie trzeba więc używać Set aby skojarzyć odwołanie do obiektu. Słowo New nie może być używane do deklarowania zmiennych łączonych, nie może być używane do deklarowania zmiennych zależnych i nie może być używane z WithEvents.
typ (Opcjonalnie) Określa typ danych zmiennej. Należy używać słowa As dla każdej deklarowanej zmiennej.


Zmienna zadeklarowana przez Dim w module jest dostępna dla wszystkich procedur modułu. Zmienna zadeklarowana przez Dim w procedurze jest dostępna tylko wewnątrz procedury.
Zmienna zadeklarowana przez Private jest dostępna tylko w module, w którym została zadeklarowana.
Zmienna zadeklarowana jako Public jest dostępna we wszystkich procedurach i we wszystkich modułach w aplikacji, chyba że zostało użyte Option Private Module, które powoduje, że zmienne są publiczne tylko wewnątrz projektu, w którym rezydują.

Przykład użycia instrukcji Dim, Private i Public:

Dim intNumer As Integer
Public intLiczba As Integer
Private varJakasZmienna, sngLiczba As Single
Dim objNowy As New Worksheet


Powyższy przykład deklaruje zmienną intNumer jako zmienną typu Integer, zmienną publiczną intLiczba jako Integer, zmienną prywatną varJakasZmienna jako zmienną typu Variant i prywatną sngLiczba jako Single oraz zmienną objNowy jako nowy obiekt Worksheet.

Jeżeli słowo New nie zostanie użyte podczas deklarowania zmiennej, to zmienna odwołująca się do obiektu musi być skojarzona z istniejącym obiektem przez użycie słowa Set zanim zostanie ona użyta. Zanim zmienna ta zostanie skojarzona z obiektem przyjmuje ona specjalną wartość Nothing, która określa, że nie odwołuje się ona do żadnego obiektu.

Można użyć słowa Dim, Private lub Public z pustymi nawiasami do deklarowania dynamicznych tablic. Po zdeklarowaniu dyanmicznej tablicy, należy użyć ReDim aby zmienić liczbę wymiarów i elementów tablicy. Przy próbie zdeklarowania rozmiarów zmiennej tablicowej której rozmiar został określony przez Private, Public lub Dim powstanie błąd.

Jeżeli nie został określony typ danych lub typ obiektu i nie występuje słowo Deftype w module, to zmienna zostanie określona jako typu Variant (domyślny).

Jeżeli zmienna nie zostanie zainicjowana wartością, to zmiennej numerycznej nadawana jest wartość 0, zmiennej łańcuchowej o stałej długości przypisywany jest łańcuch o zerowej długości ("") a zmienna łańcuchowa o stałej długości zostanie wypełniony zerami. Zmienna typu Variant jest inicjowana jako Empty. Każdy element typu użytkownika jest inicjowany jak pojedyncza zmienna określonego typu.

Słowo Public nie może być użyte do deklarowania zmiennych łańcuchowych o zmiennej długości w modułach klas.

Jeżeli słowo Dim będzie używane w procedurze można wstawić słowo Dim na początku procedury.
Jeżeli słowo Private będzie używane w procedurze można wstawić słowo Private na początku procedury.


na górę strony...

Domyślny typ danych: Variant


Wiele języków programowania - takich jak C i Pascal - wymaga zadeklarowania każdej zmiennej, jaka jest używana w kodzie.
Visual Basic umożliwia wybór, czy zmienna musi być zdeklarowana czy nie. Jeżeli zmienna nie zostanie zdeklarowana, automatycznie zostanie ona zdeklarowana jako Variant, który jest typem domyślnym. Variant może zawierać dane Byte, Boolean, Integer, Long, Single, Double, Currency, Date, Object i String.

Zmienne Variant mogą zawierać dowolny typ danych. To oraz fakt, że nie trzeba deklarować zmiennych typu Variant, powoduje że Variant stają się wygodne w użyciu, szczególnie wtedy, gdy zamierzamy tworzyć krótki i prosty program. Wadą jest to, że Variant nie są zoptymalizowane do określonego typu danych, mogą znacznie obciążać programy, marnują pamięć i zwalniają obliczenia matematyczne.
Aby utworzyć szybki kod, efektywnie wykorzystujący pamięć, należy oszczędnie używać typu Variant. Na przykład, jeżeli zmienna będzie zawsze zawierała względnie małe wartości całkowite, należy zdeklarować zmienną jako Integer (co zużywa 2 bajty pamięci), a nie Variant (co zużywa 16 bajtów w celu reprezentowania liczby).



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