Wyjazdy studenckie

Strona główna - VISUAL BASIC-informacje - Wstęp - Śrowowisko Visual Basic 6.0 - Kontrolki - Elementy języka - Zmienne i stałe - Instrukcja przypisania - Wyrażenia arytmetyczne - Wyrażenia logiczne - Wyrażenia łańcuchowe - Operacje na datach - Podejmownie decyzji - Pętle - Tablice - Procedury - Funkcje - Zapisywanie do pliku -
Odczytywanie danych z pliku - Znajdowanie błędów


Co to jest zmienna? | Typy zmiennej | Deklarowanie zmiennej | Co to jest stała? | Deklarowaie stałych

Zmienne i stałe


>Co to jest zmienna?

Podstawowym sposobem przechowywania informacji w komputerze jest zapisywanie jej w pamięci. Aby wiedzieć, gdzie inormacja zostanie zapisana, trzeba to miejsce w pamięci odpowiednio nazwać, czyli zaadresować. Tak zidentyfikowana część pamięci mająca swoją nazwę oraz określoną wielkość nazywa się zmienną. Zatem zmienna jest to miejsce w pamięci, w którym może być przechowywana pewna wartość, do której mamy dostęp poprzez nazwę. Wartości te zapisywane są w pamięci w sposób dynamiczny, tzn. stara wartośćzmiennej zostaje zamazana nowo przypisywaną wartością. Również zakończenie pracy programu powoduje utratę wartości wszystkich zmiennych.

Nazwy zmiennych powinny spełniać określone wymagania:

  • Powinny zaczynać się od litery.
  • Mogą zawierać litery, cyfry oraz znak podkreślenia _.
  • W nazwie zmiennej nie można umieszczać spacji.
  • Nazwami zmiennych nie mogą być też słowa kluczowe Visual Basic (np. while czy end).
  • Nazwy nie mogą być dłuższe niż 255 znaków.

Przykłady poprawnych nazw w Visual Basic to: suma, x20, Wynik_x Natomiast następujące nazwy nie są poprawne: 1y (nie zaczyna się od litery), x&y (zawiera niedozwolony znak), moja dana (zawiera spację), Imie.Syna (niedozwolona kropka).

Ponieważ w Visual Basic duże i małe litery nie są rozróżniane, można używać dowolnych kombinacji (na przykład nazwy: Suma, suma, SUMA, sUma oznaczają tę samą zmienną).


>Typy zmiennej

Zmienne mogą mieć określony typ, który definiuje jaki rodzaj informacji może być przechowywany jako wartość tej zmiennej. Typ zmiennej warunkuje wielkość pamięci zajmowanej przez zmienną.

Visual Basic rozróżnia następujące typy zmiennych:

Typ danych Wielkość (w bajtach) Dokładność
(w cyfrach)
Charakterystyka (zakres)
Integer 2 5 liczba całkowita od -32.768 do 32.767;
wartość domyślna 0
Long 4 10 liczba całkowita długa
od -2.147.483.648 do 2.147.483.647; wartość domyślna 0
Single 4 6 liczba rzeczywista (może mieć część ułamkową)
od -3,402823e+38 do -1,401298e-45 oraz od 1,401298e-45 do 3,402823e+38; wartość domyślna 0
Double 8 14 liczba rzeczywista dwukrotnie większa od liczy Single;
-1,79769313486232e+308 do -4,9406564581247e-324 oraz
4,9406564581247e-324 do 1,79769313486232e+308;
wartość domyślna 0
String 1 + 1 na każdy znak
łańcuch znaków; obejmuje tekst maksymalnie do 32.767 znaków; wartość domyślna "" (łańcuch pusty)
Boolean 2 1 wartość logiczna prawda i fałsz
Ture albo False; wartość domyślna False
Date 8
data i czas w przedziale od 1 stycznia 100 r. do 31 grudnia 9999 roku; wartość domyślna 0
Currency 8 19 typ walutowy, liczby rzeczywiste od -922.337.203.658.477,5808 do 922.337.203.685.477,5807; wartość domyślna 0
Variant 1 do 8
dowolny typ identyfikowany przez Visual Basic w zależności op pierwszego użycia tej zmiennej; wartość domyślna EMPTY (puste)


>Deklarowanie zmiennej

Typ zmiennej oraz zasięg jej działania (jej dostępność) zależy od miejsca oraz sposobu jej zadeklarowania. Zmienne mogą być deklarowane w sekcji deklaracji modułu, w sekcji deklaracji formularza, albo na początku procedury, w której będą wykorzystane. Zasięg działania określa poza tym użyte słowo kluczowe: DIM, PUBLIC, PRIVATE lub STATIC

  • DIM oznacza lokalny zasięg zmiennej, ograniczony do procedury lub modułu, w którym zmienna ta została zadeklarowana.


  • PUBLIC oznacza zmienną dostępną w dowolnym miejscu w programie, w różnych modułach i formularzach.


  • PRIVATE deklaruje zmienne, które będą widoczne tylko w odrębie modułu lub formularza, w którym zostały zadeklarowane.


  • STATIC pozwala zadeklarować zmienne, które nie są usunięte z pamięci komputera po zakończeniu działania procedury, lecz ich ostatnia wartość będzie dostępna tylko w następnym wywołaniu procedury. Oczywiście po zakończeniu działania całego programu zmienne te znikają z pamięci i przestają być dostępne.

Przykład deklaracji zmiennych:

Dim Nazwisko As String*20 'deklaruje zmienną Nazwisko jako zmienną tekstową
'o długości 20 znaków, zasięg lokalny
Static licznik As Integer 'deklaruje zmienną licznik jako zmienną
'całkowitoliczbową statyczną
Public x, y As Single 'deklaruje zmienne x oraz y jako zmienne
'rzeczywiste o zasięgu globalnym

W podanych wyżej przykładach deklaracji wprowadziliśmy tekst, który objaśnia każdą instrukcję. W Visual Basic tekst stojący po znaku apostrofu jest komentarzem ignorowanymn przez kompilator. Dobrym zwyczajem jest umieszczanie komentarzy wewnątrz programu. Są one szególnie przydatne wówczas, gdy do modyfikacji programu przystępujemy po pewnym czasie i trudno sobie wtedy przypomnieć "co autor miał na myśli?".

Innym sposobem określania typu zmiennej jest stosowanie przyrostków, tzn. specjalnych znaków stojących na końcu nazwy. Na przykład przyrostek % oznacza liczby całkowite, przyrostek & oznacza liczby całkowite długie, przyrostek ! liczby rzeczywiste pojedyńczej precyzji, natomiast # liczby rzeczywiste podwójnej precyzji. Przyrostek @ deklaruje zmienne typu walutowego, zaś $ zmienne tekstowe. Tak więc x# to zmienna rzeczywista podwójnej prcyzji, zaś suma% jest zmienną całkowitą.

Visual Basic nie wymaga, aby wszystkie zmienne były zadeklarowane. Jednakże dobrym zwyczajem programistów jest deklarowanie zmiennych (co czasami pozwala uniknąć błędów literowych w nawach zmiennych). Aby wymusić konieczność deklarowania wszystkich zmiennych można umieścić w sekcji deklaracji kodu przypisanego do formularza lub modułu, słowo kluczowe Option Explicit

W takcie wykonywania programu zmienne mogą zmieniać swoją wartość.


>Co to jest stała?

Innym sposobem przechowywania wartości w pamięci są stałe. Są one traktowane przez Visual Basic w sposób szczegolny. Po pierwszym zdefiniowaniu stałej (albo przez programistę, albo przez Visual Basic) w dalszej części wykonywania programu nie można zmieniać jej wartości (np. wykorzystując instrukcję przypisania). Każda taka próba spowoduje błąd wykonania.

Stałe wykorzystywane są w programach do przechowywania albo powtarzających się w wielu miejscach wartości, albo pewnych stałych fizycznych czy przeliczników jednostek, albo wartośći parametrów (które pozwolą w przyszłości w łatwy sposób jedną zmianą wartości stałej zmienić np. nazwę katalogu roboczego, czyli sparametryzować program), albo stałych trudnych do zapamiętania określających odpowiednie kolory czy wygląd np. paska tytułowego okna. Te ostatnie stałe są przeważnie predefioniowane przez Visual Basic (np. vbActiveTitleBar opisuje wygląd paska tytułowego okna).


>Deklarowanie stałych

Deklarowanie stałych w programie odbywa się za pomocą instrukcji Const. W języku Visual Basic stałe, podobnie jak zmienne, mają swój typ. Typ ten jest albo deklarowany w sposób jawny w instrukcji Const, albo określony w sposób domyślny na podstawie wartości stałej.

Przykład 1
Zdefiniować wartość stałą KURS_USD, a następnie użyć jej w wyrażeniu arytmetycznym.

Const KURS_USD = 4,55 As Single
Dim Zlote, Dolary As Single
Dolary = KURS_USD * Zlote

Innego typu stałymi są tzw. literały. Terminem tym określa się konkretne wartości określonego typu, np. 3, 2.52, "Kowalski".