Kurs Autoit część 4
W czwartej części kursu omówimy instrukcje warunkowe
Instrukcje warunkowe
Pisząc skrypt, nie raz będziecie chcieli by jego reakcja zależał od tego czy dana liczba jest większa od drugiej czy też zmienna posiada taką a nie inną wartość. W takiej właśnie sytuacji posłużymy się instrukcjami warunkowymi. W AutoIT mamy do dyspozycji If [...] Then [...] Else oraz Select [...] Case
If [...] Then [...] Else
Najprościej można to przetłumaczyć na jeżeli [..] w tedy [...] w innym przypadku, dla przykładu
If $wiek > 10 Then
MsgBox(4096, "Wiek", "Masz więcej niż 22 lat")
ElseIf $wiek > 14 Then
MsgBox(4096, "Test", "Masz więcej niż 18 lat")
Else
MsgBox(4096, "Test", "Jesteś jeszcze bardzo młody")
EndIf
Omówmy teraz kod, jeżeli pierwsze wyrażenie jest prawdziwe wyświetli nam się okienko z informacją że mamy więcej niż 22 lata, w przypadku gdy wiek będzie mniejszy skrypt sprawdzi czy mamy więcej niż 18 lat, jeżeli wartość będzie prawdziwa dostaniemy informację że mamy więcej niż 18 lat. W innym przypadku skrypt wyświetli nam okno że jesteśmy jeszcze bardzo młodzi
Select [...] Case
Select jest podobny do If, z tą różnicą że lepiej się sprawdza gdy potrzebujemy sprawdzić dużą liczbę warunków. W takich sytuacjach Select jest o wiele bardziej czytelniejszy w kodzie o raz o wiele łatwiejszy w zastosowaniu, dla przykładu
$wiek=40
Select
Case $wiek > 10 AND <= 15
MsgBox(4096, "Wiek", "Masz więcej niż 10 lat")
Case $wiek > 15 AND $wiek <= 20
MsgBox(4096, "Wiek", "Masz więcej niż 15 lat")
Case $wiek > 20 AND $wiek <= 25
MsgBox(4096, "Wiek", "Masz więcej niż 20 lat")
Case $wiek > 25 AND $wiek <= 30
MsgBox(4096, "Wiek", "Masz więcej niż 25 lat")
Case $wiek > 30 AND $wiek <= 35
MsgBox(4096, "Wiek", "Masz więcej niż 30 lat")
Case $wiek > 35 AND $wiek <= 40
MsgBox(4096, "Wiek", "Masz więcej niż 35 lat")
EndSelect
W tym wypadku skrypt wybierze opcję ostatnią Case $wiek > 35 AND $wiek <= 40 ponieważ wcześniej podaliśmy że $wiek=40. Jak widzicie Select jest w takich sytuacjach wygodniejszy gdyż wymaga od nas mniej kodu (zamiast ElseIf warunek Then stosujemy samo Case warunek).
To na tyle jeżeli chodzi o instrukcje warunkowe