Visual Basic 3 – IF Anweisung

Es ist höchste Zeit etwas etwas anwendungsbezogenes zu basteln (oder so ähnlich). Jeden Tag bekommen wir duzende E-Mails und einige davon sind Spam oder interessieren uns nicht. Deswegen wird es deine Aufgabe sein einen kleinen Spamfilter zu erstellen. Wir haben folgendes Grundgerüst:

Es gibt drei Variablen die eine Mail beschreiben. Diese werden dann mit irgend welchen Werten gefüllt. Wie das genau geschieht, darum werden wir uns jetzt erstmal nicht kümmern. Wir gehen einfach davon aus, dass schon die jeweiligen Werte eingetragen sind. Beispielsweise könnte Sender den Wert „info@spammail.com“ haben während Subject und Message auf „Ganz billige Handys“ und „Sie haben ein Handy gewonnen“ gesetzt worden sind.

Nun wollen wir eine Warnung ausgeben, wenn eine Spam-Mail erkannt wurde. Als Kriterium für eine Spam-Mail könnten wir zum Beispiel nachschauen, ob der Absender eine bekannte Spam-Adresse ist. Um es in Worten auszudrücken:

Wenn der Absender "info@spammail.com" ist, dann gib eine Warnung aus.

Wir sehen also, dass wir eine Bedingung haben, nämlich „Wenn der Absender info@spammail.com ist“ und etwas, was dann getan werden soll, nämlich eine Warnung ausgeben. Sehr ähnlich können wir es auch im Code hinschreiben:

Console.WriteLine(„Nachricht“), tut genau das was du vermutlich erwartest. Es schreibt den String, der in der Klammer steht in die Konsole. Und durch das „if [Bedingung] then“ passiert das nur, wenn die Bedingung erfüllt ist. Wenn die Bedingung erfüllt ist, wir aller Code, bis zum „EndIf“ ausgeführt und dann normal weiter gemacht. Wenn die Bedingung nicht erfüllt ist wird alles übersprungen, bis zum „EndIf“ und erst danach weiter gemacht. Wir sehen hier dass das „=“ Zeichen eine doppelte Bedeutung hat. Es wird einerseits verwendet um einer Variable einen Wert zuzuweisen, so wie wir es schon oft gesehen haben, oder um die Gleichheit zu prüfen, wie bei unserer if-Abfrage.

Zwischen „if“ und „then“ muss immer ein Boolean stehen. Das ist ein Wert, der entweder falsch oder richtig sein kann. Hier ein paar Beispiele:

Im letzten Fall ist eine Variable mit dem Namen „Bedingung“ erstellt worden, die den Typ „Boolean“ hat. Wir hatten gesagt, dass zwischen „if“ und „then“ immer ein Boolean stehen muss. Und das geht natürlich auch, wenn wir eine Variable mit dem Typ Boolean dort einsetzen.

Genauso können wir Bedingungen (bzw. Booleans) verknüpfen.

Wie schon einmal im Einstiegskapitel erwähnt ist das schöne an VB, dass man es sehr einfach, wie normale Sprache lesen kann.

Damit haben wir uns schon ein sehr mächtiges Toolkit erarbeitet. Nun also noch einmal zurück zu unserm Spamfilter. Lass uns noch ein paar weitere Bedingungen hinzufügen. Hier sind zwei Möglichkeiten, die exakt das gleiche tun. Es gibt oft viele Möglichkeiten Code zu schreiben, der die gleichen Dinge tut.

Als kleine Denkaufgabe kannst du überlegen, was mit der Folgenden E-Mail passieren würde:

Sender: info@spammail.com

Subject: Lohnabrechnung

Message: Du hast ein neues Handy gewonnen, das wir dir ganz sicher kostenfrei schicken werden, wenn du nur diesen Vertrag unterschreibst.

Wenn du denkst es zu wissen, klicke einfach auf das „+“ hinter der Lösung.

Lösung

Auch wenn du die Lösung richtig hast, schau dir am besten die Erklärung trotzdem noch einmal an. Sie kann dir helfen allgemeine Ausdrücke zu lösen.

Die Mail würde nicht als Spam eingestuft werden.

Der Sender ist zwar eine Spamadresse, doch in der Bedingung steht, das es eine Spamadresse sein muss UND, dass das Subject nicht wichtig sein darf. Doch hier wird das Subject als wichtig eingestuft, da „Lohnabrechnung“ darin steht.

Bei der Auswertung müssen wir wie beim Rechnen Klammern beachten. Und somit können wir den Ausdruck wie folgt auswerten.

Rot bedeutet „False“ und grün „True“

Langsam aber sicher erweitert sich dein Tool-Kit und bald ist es auch an der Zeit, dass du selbst etwas Code schreibst. Doch eine letzte Sache müssen wir davor noch besprechen: Funktionen. Dieses absolut essentielle Tool werden wir uns im nächsten Beitrag aneignen.

Bis dahin wünsche ich dir noch einen schönen Tag und bleib neugierig!

Schreibe einen Kommentar