Poradnik Autoit – polecenia warunkowe

(IfElseifElseEndif ,Select…Case…EndSelect, SwitchCaseEndSwitch)

Z najprostszym poleceniem warunkowym zapoznałem was przy omawianiu pętli – chodzi mi o komendę If..Endif

$repeat = 1
While 1
If $repeat < 11 Then
MsgBox(0, "Pętla",$repeat)
Endif
$repeat = $repeat +1
Wend

Składnia tego polecenia jest bardzo prosta:
If  warunek Then ;

; kod do wykonania
Endif; Koniec poleceń wykonywanych pod warunkiem.

Podczas deklarowania warunków można korzystać z operatorów logicznych (OR, AND, NOT) celem zawężenia warunku :
IfThen
Endif

Operatory logiczne są bardzo proste do pojęcia,

AND – polecenia zostaną wykonane jedynie wtedy, gdy i zostaną spełnione.
OR – polecenia zostaną wykonane jedynie wtedy, gdy albo zostanie spełniony.
NOT – Polecenie zostanie wykonane gdy warunek nie zostanie spełniony.

Pozostało omówić jeszcze ElseifElse wydaje mi się, że na przykładzie poniżej każdy załapie:

<pre>If warunek Then ;Główny warunek instrukcja wykonywana jeśli spełniony zostanie warunek
Elseif  warunek
instrukcja wykonywana jeśli spełniony zostanie drugi warunek, a pierwszy nie
Else
instrukcja wykonywana jeśli nie zostanie spełniony żaden z powyższych
Endif</pre>

Zwracam uwagę, że polecenia wpisane w warunek Elseif oraz Else zostają wykonane jedynie wtedy gdy główny warunek nie zostaje spełniony. Jeżeli główny warunek, bądź pierwszy warunek zadeklarowany Elseif zostaje spełniony kompilator pomija kod instrukcji aż do jej końca (Endif)

Drugim typem poleceń warunkowych jest SwitchCaseEndSwitch, jego zastosowanie prezentuje poniższy skrypt.Polecenie jest bardzo podobne w działaniu do IfElseifElseEndif, jednak w tym przypadku kompilator nie pomija reszty instrukcji gdy zostaje spełniony pierwszy warunek.

<pre>$miesiac = 1
While 1
Switch $miesiac
Case $miesiac = 1
MsgBox(0, „”, „Styczeń”)
Case $miesiac = 2
MsgBox(0, „”, „Luty”)
Case $miesiac = 3 to 5
MsgBox(0, „”, „Marzec, Kwiecień albo Maj…”)
Case Else
MsgBox(0, „”, „…a teraz na pewno Czerwiec”)
EndSwitch
$miesiac = $miesiac + 1
Wend</pre>

W przypadku zastosowania SwitchCaseEndSwitch deklarujemy warunek, na którym zostanie oparty szkielet dalszej instruckji.

Trzecim typem poleceń warunkowych jest Select…Case…EndSelect, jest ono bliźniaczo podobne do w/w polecenia jednak w tym przypadku nie jesteśmy ograniczeni 1 argumentem – możemy je dowolnie dobierać.

Poniższy skrypt wyświetla nam nazwy miesiąców, ponadto prezentuje zastosowanie Case Else, jako argumentu:

<pre>While 1
Select
Case $miesiac = 1
MsgBox(0, „”, „Styczeń”)
Case $miesiac = 2
MsgBox(0, „”, „Luty”)
Case $miesiac = 3
MsgBox(0, „”, „Marzec”)
Case $miesiac = 4
MsgBox(0, „”, „Kwiecień”)
Case $miesiac = 5
MsgBox(0, „”, „Maj”)
Case $miesiac = 6
MsgBox(0, „”, „Czerwiec”)
Case Else
MsgBox(0, „”, „Dalej nie odliczam – mam wakacje”)
Exit
EndSelect
$miesiac = $miesiac + 1
Wend</pre>

Dodaj komentarz

This site uses Akismet to reduce spam. Learn how your comment data is processed.