Deklarowanie zmiennych
Deklarowanie zmiennych przy użyciu DimDeklarują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:
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: VariantWiele 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... |