Halli Hallo,
Wilkommen zum *Teil2*
Meiner Scripting Tutorials =)
Viel Spaß
f-Then-Else-Anweisung
Genau wie Menschen müssen Computer die Möglichkeit haben, Entscheidungen zu treffen, auf Grund von bekannten (oder auch zufälligen) Kriterien.
In VB verwendet man
If ... Then Konstruktionen für eben solche Operationen, die von
Bedingungen abhängen.
Sagen wir mal ein Festplatten-Bereinigungsprogramm sollte
nur Sonntags gestartet werden, dann würde man folgende Konstruktion verwenden:
Quote:
If WeekDay(Now) = vbSunday Then
Shell "scandskw.exe"
End If
|
Meist reichen solch einfache If-Bedingungen nicht aus; daher hat man die Möglichkeit, mehrere Kriterien zu kombinieren mit z.B. den Operatoren AND (=und) oder OR (=oder).
Achtung! Wichtig sind die
Klammern um die einzelnen Bedingungen!
Quote:
If (WeekDay(Now) = vbSunday) Or (WeekDay(Now) = vbWednesday) Then
Shell "scandskw.exe"
End If
|
Jetzt wird Scandisk also
Sonntags ODER Mittwochs gestartet. Warum kann man nicht AND verwenden?
Würde man beides mit AND verknüpfen, müßte heute (also der Weekday(Now)) SOWOHL Sonntag als AUCH Mittwoch sein.
Nehmen wir einmal an,
Freitags sollte noch Defrag (Festplatten-Defragmentierung) gestartet werden; der Code sieht dann folgendermaßen aus:
Quote:
If (WeekDay(Now) = vbSunday) Or (WeekDay(Now) = vbWednesday) Then
Shell "scandskw.exe"
ElseIf Weekday(Now) = vbFriday Then
Shell "defrag.exe"
End If
|
Wenn die IF-Anweisung nicht erfüllt ist, wird die ElseIf-Anweisung überprüft; sind beide nicht erfüllt (TRUE), dann tritt die Else-Anweisung in Kraft:
Quote:
If (WeekDay(Now) = vbSunday) Or (WeekDay(Now) = vbWednesday) Then
Shell "scandskw.exe"
ElseIf Weekday(Now) = vbFriday Then
Shell "defrag.exe"
Else
Shell "sol.exe"
End If
|
Wenn also
WEDER Sonntag NOCH Mittwoch NOCH Freitag ist (also Mo,Di,Do,Sa) wird Solitär gestartet.
Alle oben gezeigten If-Blöcke werden durch 'End If' beendet. Dies ist immer dann notwendig, wenn eine If-Konstruktion mehrere Zeilen beansprucht; folgende If-Zeile verlangt kein 'End If':
Quote:
|
If (Nachname$ = "Müller") And (Vorname$ = "Werner") Then MsgBox "Werner Müller ist bereits im Datenbestand erfasst!"
|
Zusammenfassung:
+ Die If-Then Anweisung macht Operationen von Bedingungen abhängig
+ Nach der If-Anweisung wird eine eventuell vorhandene ElseIf-Anweisung abgearbeitet
+ Sind beide unwahr (FALSE), so tritt eine eventuell vorhandene Else-Anweisung ein
+ If-Blöcke werden mit 'End If' abgeschlossen, sofern sie mehrere Zeilen umfassen
+ Durch logische Operatoren (AND/OR/XOR/NOT) kann man Bedingungen verknüpfen
Graaz
knollo14