Użycie zmiennych w procedurze

48
Elementy programowania 1 Użycie zmiennych w procedurze Sub ObliczWiek() 'deklaracja zmiennych Dim ImieNazwisko As String Dim DataUrodzenia As Date Dim Wiek As Integer ImieNazwisko = "Jan Kowalski" DataUrodzenia = #1/3/1967# 'obliczenie wieku Wiek = Year(Now()) - Year(DataUrodzenia) 'wydrukowanie wyniku w oknie Instrukcji bezpośrednich Debug.Print ImieNazwisko & " ma " & Wiek & " lat." End Sub

description

Użycie zmiennych w procedurze. Sub ObliczWiek() 'deklaracja zmiennych Dim ImieNazwisko As String Dim DataUrodzenia As Date Dim Wiek As Integer ImieNazwisko = "Jan Kowalski" DataUrodzenia = #1/3/1967# 'obliczenie wieku Wiek = Year(Now()) - Year(DataUrodzenia) - PowerPoint PPT Presentation

Transcript of Użycie zmiennych w procedurze

Page 1: Użycie zmiennych w procedurze

Elementy programowania 1

Użycie zmiennych w procedurzeSub ObliczWiek() 'deklaracja zmiennych Dim ImieNazwisko As String Dim DataUrodzenia As Date Dim Wiek As Integer ImieNazwisko = "Jan Kowalski" DataUrodzenia = #1/3/1967# 'obliczenie wieku Wiek = Year(Now()) - Year(DataUrodzenia) 'wydrukowanie wyniku w oknie Instrukcji bezpośrednich Debug.Print ImieNazwisko & " ma " & Wiek & " lat."End Sub

Page 2: Użycie zmiennych w procedurze

Elementy programowania 2

Użycie zmiennych i stałych w procedurzeSub obliczenia () 'deklaracja zmiennych liczba1, liczba2 i stałej liczba0 Dim liczba1 As Single Dim liczba2 As Single Const liczba0 =5‘przypisanie zmiennym wartości liczba1 = 10 liczba2 = 20‘obliczenia liczba3 = liczba0 + liczba1 + liczba2 liczba4 = liczba2 – liczba2 * liczba0 liczba5 = liczba1/liczba2^liczba0End Sub

Page 3: Użycie zmiennych w procedurze

Elementy programowania 3

Wymuszenie deklarowania zmiennychDeklarowanie wszystkich zmiennych wymusza na programiście wprowadzona na początku modułu instrukcja Option Explicit.

Jej zaletą jest automatyczne wychwycenie błędów w pisowni zmiennych w chwili kompilacji.

Page 4: Użycie zmiennych w procedurze

Elementy programowania 4

Zasięg zmiennych związany jest ściśle ze sposobem deklaracji

zmiennych, zmienna zadeklarowana w procedurze jest lokalna

dla tej procedury (w innych procedurach może istnieć zmienna o takiej samej nazwie ale przechowująca odmienne wartości),

aby zmienna była dostępna dla innych procedur należy zadeklarować ją na poziomie modułu na początku, przed jakąkolwiek funkcją lub procedurą.

Page 5: Użycie zmiennych w procedurze

Elementy programowania 5

Zasięg zmiennychKażda zmienna w programie Visual Basic ma

jeden z następujących zasięgów: Prywatny poziom procedury, Prywatny poziom modułu, Publiczny poziom modułu, Przesłanianie zmiennych.

Page 6: Użycie zmiennych w procedurze

Elementy programowania 6

Zmienne na prywatnym poziomie procedury zmienna 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 Liczba, możemy zmodyfikować Liczba w dowolnej procedurze bez wpływu na Liczba w pozostałych procedurach,

aby utworzyć zmienną na prywatnym poziomie procedury należy ją zadeklarować w procedurze ze słowem kluczowym Dim,

wszystkie zmienne na poziomie procedury są prywatne.

Page 7: Użycie zmiennych w procedurze

Elementy programowania 7

Zmienne prywatnego poziomu modułu widzialne są dla wszystkich procedur w ich macierzystym

formularzu lub module, ale nie dla innych formularzy lub modułów,

na przykład, jeżeli zadeklarowano Liczba jako zmienną prywatnego poziomu modułu, każdy wiersz kodu w tym formularzu, który odnosi się do Liczba, będzie odnosił się do tej zmiennej,

aby utworzyć zmienną prywatnego poziomu modułu, należy użyć słowa kluczowego Private w celu zadeklarowania zmiennej prywatnej w części General Declarations formularza lub ogólnego modułu,

zmienne poziomu modułu są przydatne do obliczeń, których wyniki mają być wspólne dla różnych procedur w jednym formularzu lub module.

Page 8: Użycie zmiennych w procedurze

Elementy programowania 8

Zmienne publicznego poziomu modułu widziane są dla każdej procedury w każdym formularzu w

całym projekcie. Jeżeli zadeklarowano Komunikat jako zmienną publicznego poziomu modułu, każdy wiersz kodu w każdym formularzu i module, który ma dostęp do Komunikat, 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).

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.

Page 9: Użycie zmiennych w procedurze

Elementy programowania 9

Przesłanianie zmiennych VB umożliwia deklarowanie tej samej nazwy dla zmiennych lub

stałych symbolicznych różnych zasięgów, np., można zadeklarować dwie zmienne Liczba 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 zależ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ą Liczba, została uruchomiona, Visual Basic będzie używał zmiennej prywatnej Liczba, jeżeli ta procedura nie została uruchomiona, Visual Basic zastosuje zmienną publiczną Liczba),

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.

Page 10: Użycie zmiennych w procedurze

Elementy programowania 10

Zasięg zmiennych - podsumowanieSłowo

kluczoweMiejsce

deklaracjiZasięg zmiennej lub stałej

Dim Procedura Dostępna tylko w procedurze

Dim ModułDostępna dla wszystkich

procedur modułu

Private ModułDostępna dla wszystkich

procedur modułu

Public ModułDostępna dla wszystkich procedur we wszystkich

modułach bieżącego skoroszytu

Page 11: Użycie zmiennych w procedurze

Elementy programowania 11

Zmienne statyczneDeklaracja: Static NazwaZmiennej As TypZmiennej zmienna tak deklarowana nie traci swojej wartości po zakończeniu

wykonywania instrukcji, po powrocie do danej procedury zmienna statyczna nadal ma

wartość, jaką miała w chwili zakończenia procedury, zmienne poziomu procedury mogą być statyczne lub nie, w

zależności od sposobu ich zadeklarowania, zmienne poziomu modułu są zawsze statyczne. Visual Basic

automatycznie zatrzymuje je w pamięci na czas działania programu. Jeżeli spróbujemy użyć słowa kluczowego Static w celu zadeklarowania zmiennej poziomu modułu, pojawi się komunikat o błędzie. Zamiast tego należy użyć Dim, Private lub Public,

Przykład

Page 12: Użycie zmiennych w procedurze

Elementy programowania 12

Zmienne obiektowe nie przechowują danych, muszą być typu obiektu z którym są skojarzone.

Użycie Dim, Private, Public, Static tylko deklaruje zmienną, która odnosi się do obiektu. Żaden obiekt nie jest skojarzony z nią dopóki nie zostanie użyta instrukcja Set do skojarzenia z określonym obiektem,

informują tylko gdzie dane się znajdują, np. za pomocą zmiennej obiektowej można przekazać, że dane znajdują się w komórkach A1:E10 w aktywnym arkuszu:

Dim zakres As ObjectSetzakres=Worksheets(„Arkusz1”).Range(Cells(1,1),Cells(10,5)).Selectzakres.ColorIndex=6zakres.Pattern=xlSolid

Kojarzy odwołanie do obiektu ze zmienną lub właściwością

Page 13: Użycie zmiennych w procedurze

Elementy programowania 13

Zmienne obiektowe można również definiować zmienne jako określony

typ obiektu, np.Dim zakres As Range

Dim arkusz As Worksheet

Set arkusz=Worksheets(„Market”) jeśli zmienna obiektowa nie jest już potrzebna

można zerwać połączenie zmiennej z obiektem:

Set zmienna=Nothing

Page 14: Użycie zmiennych w procedurze

Elementy programowania 14

Przykład zmiennej obiektowejSub UzycieZmObiektowej() Dim zakres As Object Set zakres = Worksheets("Arkusz1").Range(Cells(1, 1), Cells(10, 5)) zakres.BorderAround Weight = xlMedium With zakres.Interior .ColorIndex = 6 .Pattern = xlSolid End With Set zakres = Worksheets("Arkusz1").Range(Cells(12, 5), Cells(12, 10)) zakres.Value = 54 Debug.Print IsObject(zakres)End Sub

Page 15: Użycie zmiennych w procedurze

Elementy programowania 15

Instrukcje wyboru If... Then If...Else If...ElseIf Select Case Select Case...Case Is Select Case...Case To

Page 16: Użycie zmiennych w procedurze

Elementy programowania 16

If... Then – składnia instrukcjipostać blokowa:

If warunek Then blok instrukcjiEnd If

postać liniowa:

If warunek Then instrukcja1 [:instrukcja2 [:… [:instrukcja N]…]]

Page 17: Użycie zmiennych w procedurze

Elementy programowania 17

If... Then najprostsza instrukcja wyboru,

po napotkaniu przedstawionej komendy program sprawdza warunek znajdujący się po słowie If,

jeżeli warunek jest prawdziwy (ma wartość logiczną True) program wykonuje polecenia znajdujące się po słowie Then, a następnie przechodzi do kolejnej linii programu,

jeżeli warunek jest nieprawdziwy - fałszywy (ma wartość logiczną False) program od razu przechodzi do następnej linii. Instrukcje znajdujące się po słowie Then nie zostaną wykonane,

Page 18: Użycie zmiennych w procedurze

Elementy programowania 18

Przykład użycia instrukcji If... Thenw postaci blokowej:

If Zysk > 1200 Then   Podatek = 20   Komunikat = MsgBox(„Zapłacisz większy podatek”)End If

w postaci liniowej:

If Zysk > 1200 Then Podatek = 20 : Komunikat = MsgBox(„…”)

Page 19: Użycie zmiennych w procedurze

Elementy programowania 19

Decyzje oparte na więcej niż jednym warunku

If warunek1 And warunek2 Then   blok instrukcjiEnd If

If warunek1 Or warunek2 Then

blok instrukcji

End If

Page 20: Użycie zmiennych w procedurze

Elementy programowania 20

Przykład If… Then z dwoma warunkamiIf cena = 120 And sztuki >= 50 Then

rabat = (cena * sztuki) * 0.1

MsgBox(„Rabat wynosi: ” & rabat )

End If

If cena = 120 Or sztuki < 50 Then

MsgBox(„Rabat wynosi: ” & 50 - sztuki & „sztuk(i)”)

End If

Page 21: Użycie zmiennych w procedurze

Elementy programowania 21

Struktura If...Then...Elsepostać liniowa:

If warunek Then instrukcja1a [:… [:instrukcja N]…]Else instr.2a [:… [:instr.N]…]

postać blokowa:

If warunek Then

blok instrukcji

Else

blok instrukcji

End If

Page 22: Użycie zmiennych w procedurze

Elementy programowania 22

Struktura If...Then...Else po napotkaniu przedstawionej komendy program sprawdza

warunek znajdujący się po słowie If, jeżeli warunek jest prawdziwy (ma wartość logiczną True)

program wykonuje polecenia znajdujące się pomiędzy słowami Then i Else, a po ich wykonaniu wykonuje polecenie znajdujące się bezpośrednio po słowie kluczowym End If ,

jeżeli warunek jest nieprawdziwy - fałszywy (ma wartość logiczną False) program od razu przechodzi do instrukcji znajdujących się po słowie Else, a po ich wykonaniu wykonuje polecenie znajdujące się bezpośrednio po słowie kluczowym End If,

Page 23: Użycie zmiennych w procedurze

Elementy programowania 23

Przykład struktury If...Then...Else

If Zysk > 1200 ThenPodatek = 20Wiadomosc = MsgBox(„Musisz zapłacić większy podatek”)

ElsePodatek = 7Wiadomosc = MsgBox(„Możesz zapłacić mniejszy podatek”)

End If

Page 24: Użycie zmiennych w procedurze

Elementy programowania 24

Struktura If...Then...ElseIfIf warunek1 Then     blok instrukcjiElseIf warunek2 Then     blok instrukcji[ElseIf warunekx Then     blok instrukcji][Else     blok instrukcji]End If

Nie ma ograniczenia co do ilości zagłębień, ale powyżej 2 warunków zaleca się stosowanie struktury Select Case

Page 25: Użycie zmiennych w procedurze

25

Struktura If...Then...ElseIf jeżeli warunek (warunek1) jest prawdziwy (ma wartość logiczną

True) program wykonuje polecenie znajdujące się pomiędzy słowami Then i ElseIf, a po ich zakończeniu realizuje dalszy ciąg programu (po słowie EndIf),

jeżeli warunek jest nieprawdziwy (ma wartość logiczną False) program od razu przechodzi do sprawdzenia warunku2  po ElseIf,

jeżeli ten warunek (warunek2) jest prawdziwy (ma wartość logiczną True) program wykonuje polecenie znajdujące się pomiędzy słowami Then i Else, a po ich zakończeniu realizuje dalszy ciąg programu (po słowie EndIf),

jeżeli warunek po ElseIf jest nieprawdziwy - fałszywy (ma wartość logiczną False) program od razu przechodzi do: instrukcji po słowie Else jeżeli to słowo istnieje, instrukcji po słowach End If,

Page 26: Użycie zmiennych w procedurze

Elementy programowania 26

Przykład If...Then...ElseIfIf Zysk > 1200 Then

Podatek = 20Wiadomosc = MsgBox(„Musisz zapłacić olbrzymi podatek”)

ElseIf Zysk > 700 ThenPodatek = 16Wiadomosc = MsgBox(„Musisz zapłacić 16% podatku”)

ElseIf Zysk > 400 ThenPodatek = 7Wiadomosc = MsgBox(„Musisz zapłacić 7% podatku”)

ElseIf Zysk > 200 ThenPodatek = 4Wiadomosc = MsgBox(„Masz mało ale i tak płać!”)

ElsePodatek = 0Wiadomosc = MsgBox(„Z czego Ty żyjesz?”)

End If

Page 27: Użycie zmiennych w procedurze

Elementy programowania 27

Instrukcja Select CaseSelect Case wyrażenie

Case wartość1    blok instrukcji, gdy wyrażenie = wartość1Case wartość2    blok instrukcji, gdy wyrażenie = wartość2 [Case wartość3    blok instrukcji, gdy wyrażenie = wartość3]    .    .    .[Case Else      instrukcje gdy poprzednie wartości nie pasowały]

End Select

Page 28: Użycie zmiennych w procedurze

Elementy programowania 28

Instrukcja Select Case struktura Select Case umożliwia wykonanie jednego

z kilku bloków instrukcji w zależności od wartości podanego wyrażenia,

wartości przeglądane są po kolei, i pierwsza spełniająca regułę powoduje przejście do wykonania odpowiednich instrukcji i opuszczenie struktury Select Case,

z operatorami: >, <, >=, <=, <>, stosowane jest słowo Is,

do określenia zakresu używane jest słowo  To,

Page 29: Użycie zmiennych w procedurze

Przykład Select CaseSelect Case Zysk

 Case 1000 To 1200 Podatek = 20   Wiadomosc = MsgBox(„Musisz zapłacić olbrzymi podatek”) Case 700   Podatek = 16   Wiadomosc = MsgBox(„Musisz zapłacić 16% podatku”) Case Is < 400   Podatek = 7   Wiadomosc = MsgBox(„Musisz zapłacić 7% podatku”) Case (100+100)   Podatek = 4   Wiadomosc = MsgBox(„Masz mało ale i tak płać!”) Case Else   Podatek = 0   Wiadomosc=MsgBox(„Twój zysk jest inny niż 1200, 1000, 700 i 200.”)

End Select

Uwaga! Ponieważ wartości w instrukcji przeglądane są po kolei, i pierwsza spełniająca regułę powoduje przejście do wykonania odpowiednich instrukcji, gdy zostaną podane wartości < 400 zawsze będzie komunikat „Musisz zapłacić 7% podatku” – nigdy nie będzie wykonana instrukcja dla 200 i pozostałych przypadków

Page 30: Użycie zmiennych w procedurze

Elementy programowania 30

Zasady stosowania instrukcji wyboru jeżeli chcesz podać tylko jeden warunek wybierz

prostą instrukcję  If...Then, jeżeli potrzebujesz dwóch lub więcej warunków

wybierz If...Then..Else  lub  If...Then...ElseIf..Then...Else lub Select Case; pamiętaj, że  Select Case ma przejrzystą strukturę, łatwo dodać następne warunki,

jeżeli zamierzasz łączyć wiele warunków to zastosuj  Select Case,

Page 31: Użycie zmiennych w procedurze

Elementy programowania 31

Instrukcja GoToInstrukcja Goto nakazuje programowi wykonanie skoku do określonej linii kodu wewnątrz procedury. Składnia komendy jest następująca:   Goto etykietaArgument etykieta jest nazwą etykiety, do której ma nastąpić skok.Po napotkaniu komendy Goto program wykonuje skok do linii, w której znajduje się etykieta. W dalszej kolejności wykonywane jest polecenie znajdujące się bezpośrednio za etykietą lub gdy takiego nie ma to od następnej linii po linii z etykietą. Skok może nastąpić w przód (do linii znajdującej się za komendą Goto) lub w tył (do linii znajdującej się przed komendą Goto).

Page 32: Użycie zmiennych w procedurze

32

Etykieta- etykieta linii to nazwa  linii, którą można przypisać do każdej linii,- etykieta linii jest dowolnym tekstem z zachowaniem zasad

obowiązujących przy nazywaniu zmiennych,- musi znajdować się na samym początku linii, tzn.: pierwszy znak

nazwy (etykiety) musi być pierwszym znakiem w linii,- po etykiecie musi występować znak dwukropka ( : ),- w obrębie procedury nie mogą znajdować się dwie takie same

etykiety,- po etykiecie może wystąpić polecenie języka VBA (po dwukropku),- odmianą etykiety jest numer linii,- należy pamiętać o zasadach numerowania linii:

- numer linii musi znajdować się na samym początku linii,- po numerze musi znajdować się znak dwukropka ( : ).

Page 33: Użycie zmiennych w procedurze

Elementy programowania 33

Rodzaje instrukcji pętli

For… Next powtarzanie określoną ilość razy

Do UntilDo...Loop Until

powtarzanie dopóki fałsz

pętle z warunkiemDo While

Do...Loop While powtarzanie dopóki prawda

Exit DoExit For

opuszczenie pętli

Page 34: Użycie zmiennych w procedurze

Elementy programowania 34

Pętla For… Next

For licznik = początek To koniec [Step krok]

[blok instrukcji]

[Exit For]

[blok instrukcji]

Next [licznik]

• Pozwala na wielokrotne powtarzanie bloku instrukcji

• Powtarzanie wykonywane jest ściśle określoną ilość razy (powtórzenia zwane są iteracjami pętli)

Page 35: Użycie zmiennych w procedurze

35

Opis elementów pętli For… Nextlicznik element obowiązkowy, zmienna numeryczna, która

pełni rolę licznika pętli (nie może mieć typu Boolean ani być elementem tablicy)

początek element obowiązkowy; wartość początkowa licznika

koniec element obowiązkowy; wartość końcowa licznika

krok element nieobowiązkowy; wielkość, o jaką zwiększany lub zmniejszany jest licznik przy każdym wykonaniu pętli (wartość domyślna wynosi 1),

Exit For element nieobowiązkowy; napotkanie tej instrukcji powoduje natychmiastowe opuszczenie pętli (zostanie wykonana instrukcja po słowie Next)

Page 36: Użycie zmiennych w procedurze

36

Przykłady pętli For… NextSuma = 0For Licznik = 2 To 100 Step 2   Suma = Suma + LicznikNext Licznik

For i = 1 To 10

MsgBox „Aktualna wartość wynosi” + str(i)Next i

Str(i) – zwraca wartość typu String reprezentującą wartość numeryczną

Page 37: Użycie zmiennych w procedurze

Elementy programowania 37

Pętla Do While… Loop

Do While warunek

blok instrukcji

[Exit Do]

blok instrukcji

Loop

instrukcje

Page 38: Użycie zmiennych w procedurze

Elementy programowania 38

Do While… Loop pętla ta wymaga zastosowania wyrażenia porównania

(wykorzystuje do tego celu operatory porównania), w pętli może znajdować się jedna instrukcja lub cały blok

instrukcji VB. Blok ten jest wykonywany tak długo jak długo podany warunek jest prawdziwy. Ważne jest więc, aby w ciele pętli umieścić instrukcje, które doprowadzą do tego, że podany warunek kiedyś stanie się fałszywy. W przeciwnym razie pętla się nie zakończy,

jeżeli warunek jest fałszywy już na samym początku przed wykonaniem pętli, to blok instrukcji w ciele pętli nie zostanie wykonany ani razu,

jeżeli program napotka wewnątrz pętli komendę Exit Do to następuje natychmiastowe przerwanie wykonywania pętli,

Page 39: Użycie zmiennych w procedurze

Elementy programowania 39

Przykład pętli Do While… Loop

Liczba = 0

Do While (Liczba < 100)

Liczba = InputBox("Wpisz liczbę > 100")

Loop

Pętla będzie wykonywana tak długo, jak będzie podawana liczba < 100

Page 40: Użycie zmiennych w procedurze

Elementy programowania 40

Pętla Do Until… Loop

Do Until warunek

blok instrukcji

[Exit Do]

blok instrukcji

Loop

instrukcje

Page 41: Użycie zmiennych w procedurze

Elementy programowania 41

Do Until… Loop jest to pętla podobną do Do While… Loop (jedyna różnica polega

na tym, że pętla Do Until… Loop wykonuje zawarty w niej blok rozkazów tak długo, jak długo podany warunek jest fałszywy),

pętla wymaga zastosowania wyrażenia porównania, w ciele pętli może znajdować się jedna instrukcja lub cały blok

instrukcji (blok ten jest wykonywany tak długo jak długo podany warunek jest fałszywy). Ważne jest więc, aby w ciele pętli umieścić instrukcje, które doprowadzą do tego, że podany warunek kiedyś stanie się prawdziwy. W przeciwnym razie pętla się nie zakończy,

jeżeli warunek jest prawdziwy już na samym początku przed wykonaniem pętli, to blok instrukcji w pętli nie zostanie wykonany ani razu,

jeżeli program napotka wewnątrz pętli komendę Exit Do to następuje natychmiastowe przerwanie wykonywania pętli,

Page 42: Użycie zmiennych w procedurze

Elementy programowania 42

Przykład pętli Do Until… Loop

Liczba = 0

Do Until Liczba > 100

Liczba = InputBox(„Wpisz liczbę > 100”)

Loop

Pętla będzie wykonywana tak długo, jak będzie podawana liczba <= 100

Page 43: Użycie zmiennych w procedurze

Elementy programowania 43

Pętla Do Loop… While

Do

blok instrukcji

[Exit Do]

blok instrukcji

Loop While warunek

instrukcje

Page 44: Użycie zmiennych w procedurze

Elementy programowania 44

Do Loop… While pętla wymaga zastosowania wyrażenia porównania, w pętli może znajdować się jedna instrukcja lub cały blok

instrukcji. Blok ten jest wykonywany tak długo jak długo podany warunek jest prawdziwy. Ważne jest więc, aby w ciele pętli umieścić instrukcje, które doprowadzą do tego, że podany warunek kiedyś stanie się fałszywy. W przeciwnym razie pętla się nie zakończy.

pętla ta wykona blok instrukcji zawarty w jej ciele nawet jeżeli warunek jest fałszywy już na samym początku, ponieważ jego prawdziwość jest sprawdzana na końcu pętli,

charakterystyczne dla pętli jest to, że wykona się ona na pewno przynajmniej raz,

jeżeli program napotka wewnątrz pętli komendę Exit Do to następuje natychmiastowe przerwanie wykonywania pętli,

Page 45: Użycie zmiennych w procedurze

Elementy programowania 45

Przykład Do Loop… While

Do Liczba = InputBox("Wpisz liczbę > =100")Loop While (Liczba < 100)

Pętla będzie wykonywana tak długo, jak będzie podawana liczba < 100

Page 46: Użycie zmiennych w procedurze

Elementy programowania 46

Pętla Do Loop… Until

Do

blok instrukcji

[Exit Do]

blok instrukcji

Loop Until warunek

instrukcje

Page 47: Użycie zmiennych w procedurze

Elementy programowania 47

Do Loop… Until pętla wymaga zastosowania wyrażenia porównania, w pętli może znajdować się jedna instrukcja lub cały blok

instrukcji VB. Blok ten jest wykonywany tak długo jak długo podany warunek jest fałszywy. Ważne jest więc, aby w pętli umieścić instrukcje, które doprowadzą do tego, że podany warunek kiedyś stanie się prawdziwy. W przeciwnym razie pętla się nie zakończy.

pętla wykona blok instrukcji zawarty w jej ciele nawet jeżeli warunek jest prawdziwy już na samym początku, ponieważ jego prawdziwość jest sprawdzana na końcu pętli,

charakterystyczne dla pętli jest to, że wykona się ona na pewno przynajmniej raz,

jeżeli program napotka wewnątrz pętli komendę Exit Do to następuje natychmiastowe przerwanie wykonywania pętli,

Page 48: Użycie zmiennych w procedurze

Elementy programowania 48

Przykład Do Loop… Until

Do Liczba = InputBox("Wpisz liczbę < 100")Loop Until (Liczba < 100)

Pętla będzie wykonywana tak długo, jak będzie podawana liczba >= 100