Warunki i pętle
Warunki i pętle.
2.1 Warunek If.
Zdecydowanie najpopularniejszy warunek. Może on przyjąć formę:
If
warunek
Then
instrukcje
[Else
instrukcje
]
lub bardziej czytelną:
If
warunek
Then
[instukcje]
[ElseIf
warunek n-ty
Then
[instrukcje]
]
[Else
[instrukcje]
]
End If
Powyższa instrukcja pozwala na sprawdzenie wielu warunków. Oto przykład, który
powinien ułatwić zrozumienie instrukcji If:
If Hour(Now) >= 12 Then Response.Write "Good afternoon!"
Funkcja Hour zwraca bieżącą godzinę, którą określa parametr Now.
W przypadku, gdy wynik porównania (wartość jest większa lub równa 12) jest prawdziwy,
tzn. zwraca wartość true, wtedy zostanie wyświetlony komunikat "Good
afternoon!". Inny przykład:
If Hour(Now) < 12 Then
Response.Write "Good morning!"
ElseIf Hour(Now) >= 18 Then
Response.Write "Good evening!"
Else
Response.Write "Good afternoon!"
End If
W powyższym przykładzie występują dwa porównania oraz Else (tzn. w
przeciwnym wypadku), która jest wykonywana w przypadku gdy oba wcześniejsze warunki nie
zostaną sprawdzone, tzn. jeśli wartość będzie większa lub równa 12 i mniejsza od
18.
2.2 Warunek Select Case
Warunek Select Case działa na podobnej zasadzie co warunek If;
jednakże, zostaje stworzone wyrażenie w postaci listy warunków. W przypadku większej
ilości porównań lepszym rozwiązaniem staje się użycie warunku Select Case.
Ogólna składnia wygląda następująco:
Select Case
wyrażenie
[Case
wartość
[instrukcje]
]
...
[Case Else
wartosc
[instrukcje]
]
End Select
A oto przykład wykorzystania:
Select Case Hour(Now)
Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
Response.Write "Good morning!"
Case 12, 13, 14, 15, 16, 17
Response.Write "Good afternoon!"
Case Else
Response.Write "Good evening!"
End Select
Wszystkie godziny, które określają poranek i popołudnie zostały zawarte w dwóch
pierwszych warunkach. W przypadku gdy godzina będzie inna zostanie wykonany warunek Case
Else, czyli pokaże się napis "Good evening!".
2.3 Pętla For ... Loop
Jeśli chcesz powtórzyć grupę instrukcji określoną ilość razy, możesz użyć
pętli For Loop. Składnia:
For
licznik
=
start
To
koniec
[ Step
step
]
[instrukcje]
[Exit For]
[instrukcje]
Next
W przykładzie wygląda to następująca:
For i=0 to 5
Response.Write "Witaj świecie!"
Next
Powyższy fragment wyświetla łańcuch "Witaj świecie!" sześć razy
(pętla zaczyna się od wartości zero!).
2.4 Pętla While ... Wend
Jeśli niewiadomo, ile razy powinna zostać wykonana pętla, można użyć pętlę While
... Wend. Składnia wygląda następująco:
While
warunek
[instrukcje]
Wend
Zauważyć należy, że warunek jest sprawdzany przed wykonaniem instrukcji
znajdujących się wewnątrz pętli. Jeśli warunek nie zostanie spełniony pętla nie
wykona się ani razu. Przykład:
i=0
While i <= 5
Response.Write "Witaj świecie!"
i=i+1
Wend
Ręczna inicjalizacja zmiennej i nie jest konieczna (VBScript zrobi to
sam); jednakże, w praktyce lepiej jest jeśli wartości zmiennych są ustalane.
Instrukcja While ... Wend jest podobna do pętli For
... Loop, z tą jednak różnicą, że pętla For ... Loop
sama inkrementuje wartość. W pętli While ... Wend trzeba to
robić samemu (nie wolno o tym zapomnieć!).
2.5 Pętla Do ... Loop
Pętla Do ... Loop jest bardzo podobna do pętli While
... Wend. Pętla Do ... Loop posiada dwa rodzaje
składni. Pierwsza z nich:
Do [{While | Until}
warunek
]
[instrukcje]
[Exit Do]
[instrukcje]
Loop
działa identycznie jak pętla While ... Wend. Poniżej
została przedstawiona druga możliwość wyglądu pętli Do ... Loop.
Do
[instrukcje]
[Exit Do]
[instrukcje]
Loop [{While | Until}
warunek
]
W tym przypadku instrukcje wewnątrz pętli będą wykonane przed sprawdzeniem warunku,
tzn. pętla zostanie wykonana co najmniej jeden raz. Przykład:
Do
Response.Write "Witaj świecie!"
i=i+1
Loop Untile i > 5
Powyższa pętla spowoduje pojawianie się napisu "Witaj świecie!" do
momentu aż wartość i będzie większa od 5. Można również ostatnią
linię zapisać w postaci:
Loop While i <= 5
2.6 Pętla For ... Each
Specjalnym rodzajem pętli jest pętla For ... Each. Pozwala
ona wyliczyć wszystkie elementy ze zbioru, który jest grupą elementów
tego samego typu. Składnia wygląda następująco:
For
Each
element
In
grupa|zbiór
[instrukcje]
[Exit For]
[instrukcje]
Next
Na przykład, wyliczenie wszystkich wartości, które zostały wysłane w formie
formularza HTML można przedstawić:
For Each item In Request.Form
Response.Write Request.Form(item)
Next
Autor: Krzysztof Stelmach
Strona pochodzi z http://www.asp.z.pl/
Plik został ściągnięty ze strony www.programisty.prv.pl
Wyszukiwarka
Podobne podstrony:
Asembler w TSR KURS2KURS2kurs2kurs2kurs2więcej podobnych podstron