27/09/ Języki programowania 1 Piotr Górczyński Zmienne
27/09/ Zmienne Służą do przechowywania danych określonego typu Zawartość zmiennej może być zmieniana w trakcie działania programu Nazwa zmiennej może być dowolną kombinacją liter (oprócz polskich), cyfr i znaku podkreślenia _ Poniższa instrukcja spowoduje, że zmiennej strImieUzytkownika zostanie przypisana wartość Piotr LET strImieUzytkownika=Piotr
27/09/ Wymuszanie deklaracji zmiennych Aby uniknąć błędów związanych z posługiwaniem się zmiennymi, należy wymusić deklarowanie zmiennych poprzez umieszczenie na początku każdego modułu instrukcji Option Explicit
27/09/ Typy zmiennych
27/09/ Deklaracja zmiennych Określa typ zmiennej Rezerwuje pamięć Składnia: (Dim|Private|Public) [WithEvents] NazwaZmiennej[([zakres])] [As [New] typ] Przykłady: Dim strNapis As String Dim intLiczbaJablek(1 to 3) as Integer Public rsRekordyStudentow WithEvents As Recordset Jeśli element składni jest ujęty w nawiasy [ ], to oznacza, że jest opcjonalny
27/09/ Zasięg zmiennych 1 Zasięg zmiennych oznacza miejsca w programie, w których zmienna jest dostępna Zasięg zależy od miejsca zadeklarowania zmiennej Procedura/funkcja Moduł Instrukcji Dim Public Private
27/09/ Zasięg zmiennych 2 Najważniejsze przypadki zasięgu zmiennych to: Lokalne Dostępne wewnątrz Procedury/Funkcji, w której zostały zadeklarowane Globalne Dostępne wewnątrz Modułu, w którym zostały zadeklarowane Dostępne w całym Programie, jeśli zadeklarowano je w danym module jako publiczne
27/09/ Zmienne lokalne o zasięgu procedury/funkcji Zmienne zadeklarowane za pomocą instrukcji Dim wewnątrz procedury/funkcji są widoczne tylko wewnątrz niej. Są to zmienne lokalne. Option Explicit Sub ProcZapytaj() Dim intZmienna1 As Integer intZmienna1 = 10 End Sub Sub ProcPrzywitaj() 'Błąd - zmienna intZmienna1 jest niewidoczna intZmienna1 = intZmienna1 + 1 End Sub
27/09/ Zmienne globalne o zasięgu modułu Zmienne zadeklarowane za pomocą instrukcji Private lub Dim wewnątrz modułu są widoczne tylko dla procedur/funkcji wewnątrz niego. Są to zmienne globalne. Option Explicit Dim strImieUzytkownika As String Sub ProcZapytaj() strImieUzytkownika = ActiveCell.FormulaR1C1 End Sub Sub ProcPrzywitaj() ActiveCell.FormulaR1C1 = "Cześć, " & strImieUzytkownika End Sub
27/09/ Zmienne globalne o zasięgu programu Zmienne zadeklarowane za pomocą instrukcji Public wewnątrz modułu są widoczne w całym programie. Są to zmienne globalne. Moduł Drugi.frm Option Explicit Sub ProcPrzywitaj() moduł Pierwszy i jego zmienna strImieUzytkownika ActiveCell.FormulaR1C1=Pierwszy.strImieUzytkownika End Sub Moduł Pierwszy.frm Option Explicit Public strImieUzytkownika As String Sub ProcZapytaj() strImieUzytkownika = ActiveCell.FormulaR1C1 End Sub
27/09/ Przypisywanie wartości zmiennym Zmiennej po lewej stronie zostaje przypisana wyrażenie po prawej stronie Składnia: [Let] Zmienna = Wyrażenie Przykłady: Let strImieUzytkownika = Romek strImieUzytkownika = Romek strImieUzytkownika = InputBox("Jak masz na imię?") strImieUzytkownika = Cześć & strImieUzytkownika strImieUzytkownika = ActiveCell.FormulaR1C1
27/09/ Podglądanie wartości zmiennych Wartość zmiennej można podejrzeć w trakcie debuggowania programu
27/09/ Przypisywanie wartości zmiennym i ich zasięg - przykłady Visual Basic (Języki programowania) Download/JP1/Zasieg zmiennych VBA (Arkusze kalkulacyjne 2) Download/AK2/Zasieg zmiennych
27/09/ Literatura vb4all.canpol.pl