kopf
brlogo
fensterobenrechts
   
   
fensteruntenblau
   
 

Visual Basic im Informatik-Unterricht der Mittelstufe

Verzweigung

 

Es ist ein Programm zu erstellen, bei dem nach einem Click auf einen Button die Hintergrundfarbe des Formblattes zwischen rot und grün hin- und herwechselt. Zu Beginn des Programms hat das Formblatt die Farbe rot.

Bei der Lösung dieser Aufgabenstellung lernen die Schülerinnen und Schüler zunächst die Methode Form_Load kennen, die beim Start des Programms ausgeführt wird. In dieser Methode muss zunächst die Hintergrundfarbe auf rot gesetzt werden.

Weiterhin wird die Entscheidung als algorithmische Grundstruktur eingeführt :  Der Rechner muss sich 'merken', welche Farbe das Formblatt hat. Dies geschieht durch das Setzen einer Variablen mit dem Namen 'Farbe', wobei gilt : Farbe = 1 --> Formblatt = gruen; Farbe = 2 --> Formblatt = rot. Die Variable wird global im Deklarationsteil des Formblattes definiert.

 

Bild17

 

In VB können Variablen durch explizite oder durch implizite Variblendeklaration definiert werden (Kommentare werden in VB mit einem " ' " gekennzeichnet .

a. Explizite Deklaration :  Dim Zahl as Integer

b. Implizite Variablendeklaration:  For i% = 1 to 10 ... 'Typ: Integer

                                                              For i = 1 to 100 ...  'Typ: Variant

Die Option "Option Explicit" erzwingt die explizite Deklaration. Eine entsprechende Voreinstellung ist möglich, indem man in Form unter dem Punkt "Allgemein" (s.o) den Befehl "Option Explicit" hinschreibt.

Eine Variable, die ohne Datentyp deklariert wird, ist immer vom Typ Variant. Mit ihr können sowohl Zahlen als auch Zeichenfolgen und Datumsangaben gespeichert werden.

 

Beispiel:

Sub Nix

   Dim A,B

    A = "1"    'Zeichenfolge

    B = ".5"

    A = A & B  ' Konkatenation : A = "1.5"

    A = 2*A

    Print A  'Ausgabe von '3' in der Form

End Sub
 
 

Folgende Datentypen werden unterschieden:

Integer     : Ganzzahl

Long         : Lange Ganzzahl

Single       : Gleitkommazahl einfacher Genauigkeit

Double     : Gleitkommazahl doppelter Genauigkeit

Currency  : Währung, skalierte Ganzzahl

Date         :  Datum

String       : Zeichenfolge

 

Der Datentyp Variant umfasst alle diese Datentypen. Intern verwendet VB die Funktion VarType und wandelt die Werte der Variablen bei Bedarf um. Eine Variable, die ohne Datentyp deklariert wird, ist immer vom Typ Variant. Mit ihr können sowohl Zahlen als auch Zeichenfolgen und Datumsangaben gespeichert werden.

Die Syntax einer Entscheidung in Visual Basic :

If <Bedingung erfüllt> Then

  <Diese Anweisungen ausführen>

Else

  <Diese Anweisungen ausführen>

End If
 
 

Beispiel
 
 

Aufgabe 3:  (Ampel1)

Die 4 Zustände einer Verkehrsampel sollen über Button eingestellt werden können. 

Die Ampel wird auf dem Formblatt gezeichnet. Dazu müssen die Schülerinnen und Schüler die Befehle Circle (zeichnet einen Kreis) und Line (zeichnet eine Linie) kennen lernen.

Um eine Linie zu ziehen, muss man ihren Anfangs- und Endpunkt in Koordindaten angeben. Beispiel : Line (1000,1500) - (5000,1500)

Mit diesem Befehl wird eine horizontale Linie gezogen, denn Anfangs- und Endpunkt haben den gleichen Abstand zu oberen Rand des Fensters (1500 Twips). Der Anfang der Linie ist 1000 Twips vom linken Rand entfernt, das Ende der Linie hingegen 5000 Twips.

Dieser Linie kann wie folgt auch eine Farbe gegeben werden :

  Line (1000,1500) - (5000,1500), RGB (255,0,0)

Wenn ein Rechteck gezeichnet werden soll, wird hinter diesem Befehl noch ein 'B' für 'box' gesetzt. Die Koordinaten sind dann der obere rechte und der untere linke Eckpunkt des Rechtecks :  Line (1000,1500) - (5000,1500), RGB 255,0,0), B

Wird ein F an das B angefügt, wird das Rechteck mit der angegebenen Farbe ausgefüllt :

Line (1000,1500) - (5000,1500), RGB 255,0,0), BF
 
 

Kreise werde mit dem Circle-Befehl gezeichnet. Angegeben werden die Koordinaten des Mittelpunktes des Kreises und sein Radius.

Beispiel: Circle (3000,4000),2000, RGB (255,0,0)

Mit Cls wird alles gelöscht, was sich im Formular befindet.

Lösungshinweis

 

Aufgabe 4:  (Ampel2)

Die obige Aufgabe soll dahingehend erweitert werden, dass die 4 Zustände einer Verkehrsampel nacheinander, ohne Betätigung eines Button, auf dem Bildschirm erscheinen.

Die zeitliche Abfolge der einzelne Ampelphasen wird durch den Einsatz eines Timer bzw. Zeitgebers realisiert. Ein Zeitgeber wird in regelmäßigen Abständen aufgerufen, um eine Ereignisprozedur auszuführen. Das Steuerelement selbst ist während der Programmausführung nicht sichtbar. Die Zeitabstände können durch das Setzen des Timerintervalls manipuliert werden. Bei der vorliegenden Lösung wird der gesamte Programmcode im Timer implementiert.

Lösungshinweis

 

Zweite Version (AmpelIcons)

 
Eine zweite Realisierung der Ampel verwendet das in der Werkzeugliste zur Verfügung gestellte Objekt 'Picture'. In die Form werden 4 Bildfelder eingefügt. Durch die Picture-Eigenschaft der Bildfelder werden jeweils die Grafiken Treffc10a.ICO (= grüne Ampel),  Treffc10b.ICO (= gelbe Ampel), Treffc10c.ICO (= rote Ampel) und Treffc10d.ICO (= rot/gelbe Ampel) eingefügt. 

Bestimmte Icon (wie z.B. die Ampel) können über die Eigenschaftsleiste und dort unter "Picture" aus dem Unterverzeichnis \Programme\MicrosoftVisualBasic\Icons geladen werden.  

Über die Bildfeldeigenschaft 'visible' können die Bildfelder dann sichtbar bzw. unsichtbar gemacht werden.

Lösungshinweis

 
 Aufgabe 5:

Das Programm soll so erweitert werden, dass der Durchlauf der Ampelphasen durch das Anklicken eine Buttons unterbrochen und wieder in Gang gesetzt werden kann. Zusätzlich soll sich die Aufschrift au dem Button von "Ampel aus" zu "Ampel ein" ändern.

Lösungshinweis

 

Eine andere Animation:  Raketenstart

Lösungshinweis

 

weiter --> Prozeduren

 

 
 
Wednesday, 22. November 2017 / 23:01:42