Warunek IF...Then...ElseIf
Kolejna konstrukcja warunkowa wprowadza nieco elastyczności do skryptu. Za pomocą If...Then...ElseIf możesz sprawdzać dowolną liczbę warunków i w zależności od tego, który z przewidzianych warunków jest spełniony, uruchomić daną akcję. Jednak w praktyce konstrukcja ta przydaje się do sprawdzenia najwyżej dwóch, trzech warunków. Przy większej ich liczbie lepiej zastosować opisaną w dalszej części konstrukcję Select Case, w przeciwnym razie kod skryptu stanie się przesadnie długi i niezbyt czytelny.
W przykładzie pokazujemy schematyczne zastosowanie konstrukcji If...Then...ElseIf:
Zwróć uwagę na pojawiające się wyżej wyrażenie Else. Pozwala ono wbudować w skrypt polecenie lub akcję, jaka ma być wykonana w sytuacji, gdy żaden z warunków ujętych w konstrukcji If…Then…ElseIf nie będzie spełniony. Całość kończysz znanym ci już wyrażeniem End If. Po nim następują kolejne linie kodu skryptu.
Warunek If...Then...Else
Wcześniej poznałeś już wyrażenie Else. Wiesz już zatem, co ono oznacza i jaką ma funkcję w skrypcie i w konstrukcji warunkowej. Warto, byś wiedział, że możesz stosować uproszczone konstrukcje warunkowe, uwzględniające tylko wykonanie akcji, gdy warunek jest spełniony (czyli to samo co w If...Then) oraz wykonanie alternatywnej akcji, gdy warunek nie jest spełniony.
Schematycznie można to przedstawić w następujący sposób:
To najczęściej stosowana konstrukcja warunkowa.
Konstrukcja Select Case
W sytuacji gdy w skrypcie chcesz kontrolować wiele warunków i przyporządkowywać tym warunkom różne akcje, możesz to oczywiście zrobić za pomocą znanej ci już konstrukcji If…Then…ElseIf, ale dużo bardziej eleganckim rozwiązaniem jest skorzystanie z bardzo efektywnej, a przy tym stosunkowo mało znanej konstrukcji Select Case.
Schematycznie działanie tej konstrukcji można przedstawić następująco:
Konstrukcję tę będziemy stosować szerzej w kolejnych odcinkach naszego kursu. Teraz proponujemy, byś przyjrzał się przykładowemu skryptowi, bazującemy na wcześniej przedstawionych konstrukcjach warunkowych If...Then...