AutoIt: Bedingungen

Aus Wikibooks
Zur Navigation springen Zur Suche springen

Mit Bedingungen kann man abhängig vom Zustand von Variablen unterschiedlichen Code ausführen, um zum Beispiel auf die Nutzereingabe zu reagieren.

If,Then,Else[Bearbeiten]

Allgemein[Bearbeiten]

Die einfache Form der Bedingung ist die If-Abfrage. If heißt soviel wie "Falls" und prüft ob ein Ausdruck wahr ist. Wenn ja, wird ein bestimmter Code ausgeführt:

If $age < 18 Then
   Msgbox(64,"Info","Noch nicht volljährig!!")
Endif

Wie man sieht, wird die Messagebox nur angezeigt, wenn $age kleiner als 18 ist. Der Bereich wird mit dem Statement "Endif" beendet. Zum Vergleich werden sogenannte Vergleichsoperatoren verwendet:
= ist gleich
< kleiner als
> größer als
<> nicht gleich
<= kleiner gleich
>= größer gleich

Else[Bearbeiten]

Möchte man einen Code ausführen, wenn die Bedingung nicht zutrifft, kann man das Else-Statement verwenden, wie gezeigt wird:

If $age < 18 Then
   Msgbox(64,"Info","Noch nicht volljährig!!")
Else
   Msgbox(64,"Info","Alterstest bestanden.")
Endif

In dem Fall wird die erste MsgBox angezeigt, wenn $age kleiner als 18 ist, andernfalls wird die zweite Msgbox angezeigt. Möchte man noch mehr Fälle benutzen, kann man das ElseIf-Statement verwenden:

If $age < 18 Then
   Msgbox(64,"Info","Noch nicht volljährig!!")
ElseIf $age > 65
   Msgbox(64,"Info","Rentner")
Else
   Msgbox(64,"Info","Alterstest bestanden.")
Endif

Man kann beliebig viele ElseIfs verwenden.

Einzeilige If-Statements[Bearbeiten]

Wenns es mal schnell gehen soll, kann man Ifs auch so schreiben:

If $age < 18 Then Msgbox(64,"Info","Noch nicht volljährig!!")

Dann kann man allerdings nur eine Anweisung ausführen, und keine Else oder ElseIf-Statements verwenden.

Boolsche Operatoren[Bearbeiten]

Möchte man auf mehr als eine Bedingung prüfen, so kann man mehrere Bedingungen mit den boolschen Operatoren verknüpfen:
And UND
Or ODER
Not NICHT

If $age < 18 And $name="Uschi" Then
   Msgbox(64,"Info","Uschi, du bist noch nicht volljährig!!")
ElseIf $age > 65 Or Not $name="Uschi"
   Msgbox(64,"Info","Rentner oder nicht Uschi.")
Else
   Msgbox(64,"Info","Alterstest bestanden.")
Endif

L3viathan 07:45, 7. Jan. 2009 (CET)

Switch-Case/Select-Case[Bearbeiten]

Möchte man viele Bedingungen prüfen, wird Select-Case bzw. Switch-Case empfohlen: Select-Case ist praktisch eine Art If-Elseif-Else-Gefüge:

Select
   Case $a = 3
     Sleep(10)
   Case $a < -7
     Sleep(1000)
   Case Else
     Exit
EndSelect

Möchte man eine Variable auf mehrere Zustände prüfen, geht das mit Switch-Case:

Switch $b
   Case 3
     Sleep(10)
   Case -7
     Sleep(1000)
   Case Else
     Exit
EndSwitch

Aufgaben[Bearbeiten]

$age=Inputbox("Frage","Wie alt bist du?")

Bauen Sie basierend auf diesem Code eine Altersprüfung:
1. mit If-ElseIf-Else
2. mit Select-Case
3. mit Switch-Case

Siehe auch[Bearbeiten]

AutoIt: Schleifen
L3viathan 13:32, 7. Jan. 2009 (CET)


< Zurück Zur Hauptseite Weiter >