Grundlagen der Programmierung: Bedingungen

Im Leben müssen Entscheidungen getroffen werden. Genauso in den Programmiersprachen. Dazu stehen die logischen Bedingungen zur Verfügung

If then

Vermutlich die häufigste Notation in einem Programm um zu prüfen ob eine Bedingung erfüllt ist.

if MsgBox("Nochmals?",vbYesNo)=vbyes then MsgBox "Sie wollen nochmals"

Die einzeilige Schreibweise eignet sich für einfache, kurze Bedingungen.Demgegenüber steht die Mehrzeilige Anweisung:

if inputbox("Welches Datum ist heute?")=date() then
   msgBox "Richtig, bravo!"
else
   msgBox "Sorry, leider falsch."
end if

Der Befehl inputbox(...) befragt in VisualBasic den Anwender nach einem Datum. Ist  dieses Datum gleich dem aktuellen Systemdatum welches mit der Funktion today() ermittelt werden kann, wird unmittelbar nach der if-Zeile eine Dialogbox ausgegeben. Wenn die Bedingung falsch ist wird der Programmcode hinter else ausgeführt.

Manchmal müssen auch mehrere Bedingungen geprüft werden:

vWetter = "schön"
vTemperatur = "heiss"
if vWetter = schön and vTemperatur = "heiss" then
   msgBox("Heute gehen wir baden")
elseIf vWetter = schön and vTemperatur = "kalt" then
   MsgBox("Ev ist eine Wanderung angesagt")
else
   msgBox "Keine Angaben vorhanden"
end if

 

Select Case

Es ist nicht nur unschön viele IF's hintereinander zu schachteln sondern auch von der Ausführungsgeschwindigkeit nicht optimal. Muss nur eine Bedingung geprüft werden so bietet sich ein Select Case an:

vAntwort=inputbox("Bitte geben Sie eine Farbe ein")
select case vAntwort
   case "rot"
      msgBox("wie die Liebe")
   case "violet"
      msgBox("bringt unheil")
   case "schwarz","Weiss"
      msgBox("das ist keine Farbe")
   case else
      msgBox("Kenne ich nicht")
end select

In der ersten Zeile wird der Anwender um die Eingabe einer Farbe gebeten. Diese Farbe wird in der Variabel vAntwort abgelegt.

Mit Select wird die Variabel vAntwort auf deren Inhalt geprüft und je nach dem in den entsprechenden Case verzweigt. Trift keiner der Fälle zu, so wird case else ausgeführt.