ASP (2)
2. 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ą:
[ElseIf |
warunek n-ty |
Then |
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:
|
Response.Write "Good morning!" |
ElseIf Hour(Now) >= 18 Then |
|
Response.Write "Good evening!" |
|
Response.Write "Good afternoon!" |
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:
A oto przykład wykorzystania:
|
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!" |
|
|
Response.Write "Good evening!" |
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 |
] |
W przykładzie wygląda to następująca:
|
Response.Write "Witaj świecie!" |
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:
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:
|
Response.Write "Witaj świecie!" |
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 inkrementyje 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 |
] |
działa identycznie jak pętla While ... Wend.
Poniżej została przedstawiona druga możliwość wyglądu pętli Do
... Loop.
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:
|
Response.Write "Witaj świecie!" |
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:
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 |
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) |
Kurs pochodzi z
serwisu Programowanie wg Stelmika republika.pl/stelmik
|