VB - Übung 3
"Einfacher Taschenrechner"
Globale Variablendeklaration, If-then-endif

  1. Erzeuge im vorhandenen Form zehn CommandButtons (0 bis 9) und setze die Eigenschaften(=Properties) auf die Namen B0 bis B9.

  2. Erzeuge im vorhandenen Form eine Textbox mit dem Namen Ausgabe für die Zahlenausgabe.

  3. Setze die Property (Eigenschaft) Enabled von der Textbox Ausgabe auf False.

  4. Wenn der Button B0 gedrückt wird soll der Text "0" im Ausgabefenster angefügt werden. D.h.

    Private Sub B0_Click() ' Diese Funktion ist zu ergänzen
    Dim sZeichen As String ' Die Variable sZeichen vom Typ String wird deklariert

    sZeichen = "0"
    ' Das Zeichen 0 wird der Variable sZeichen zugeordnet
    ausgabe.Text = ausgabe.Text + sZeichen ' Das Zeichen 0 wird im Ausgabefenster angefügt
    End Sub 'Ende der Funktion

  5. Ergänze die Click-Funktionen (=Click-Callbacks) für die Buttons B1 bis B9 analog wie bei B0.

  6. Erzeuge im vorhandenen Form den CommandButton "+" mit dem Namen Plus zum Addieren der Zahlen.

  7. Wenn der Button Plus gedrückt wird, muß folgende Funktionalität ausgeführt werden:
    ' Dazu müssen zuerst globale Variablen deklariert werden
    Private iWert As Integer 'Die globale Variable mit dem Namen iWert vom Typ Integer festlegen
    Private bAusgabeLeeren As Boolean 'Die globale Variable bAusgabeLeeren vom Typ Boolean festlegen
    Private iZust As Integer 'Zustand des Programmes: 0, 1 (+ wurde gedrückt), 2 (- wurde gedrückt)

    Private Plus_Click() 'Diese Funktion ist zu ergänzen
    iWert = CInt(ausgabe.Text
    ) 'Vom Textfeld Ausgabe wird der Wert auf die Variable iWert gespeichert
    iZust = 1
    ' Der Zustand des Programmes wird auf den Zustand 1 ("+ wurde gedrückt") gesetzt
    bAusgabeLeeren = True
    'Merken, daß nachfolgend das Textfeld Ausgabe geleert werden muß
    End Sub
    ' Ende der Funktion

  8. Erzeuge im vorhandenen Form den CommandButton mit dem Namen Minus zum Subtrahieren der Zahlen.

  9. Wenn der Button Minus gedrückt wird, muß folgende Funktionalität ausgeführt werden:
    'Achtung: Alle nachfolgend verwendeten globalen Variablen wurd bereits zuvor deklariert

    Private Sub minus_Click() 'Diese Funktion ist zu ergänzen
    iWert = CInt(ausgabe.Text)
    'Vom Textfeld Ausgabe wird der Wert auf die Variable iWert gespeichert
    iZust = 2
    'Der Zustand des Programmes wird auf den Zustand 2 ("- wurde gedrückt") gesetzt
    bAusgabeLeeren = True
    'Merken, daß nachfolgend das Textfeld Ausgabe geleert werden muß
    End Sub
    ' Ende der Funktion

  10. In allen Click-Funktionen der Buttons B0 bis B9 ist am Beginn eine IF - THEN-Abfrage (wenn --> dann) einzubauen um abzufragen, ob das Zahlenausgabefeld Ausgabe geleert werden soll. So muß z.B.die Funktion für den Button B0 folgendes Aussehen haben:

    Private Sub B0_Click() ' Diese Funktion ist zu ergänzen
    Dim sZeichen As String ' Die Zeile ist nicht neu

    If (bAusgabeLeeren = True) Then ' wenn die Ausgabe geleert werden soll dann:
    ausgabe.Text = ""
    'Leeren der Ausgabe
    bAusgabeLeeren = False ' Merken, daß das Textfeld Ausgabe nicht mehr geleert werden muß
    End If ' Ende von wenn--> dann
    sZeichen = "0" ' Das Zeichen 0 wird der Variable sZeichen zugeordnet
    ausgabe.Text = ausgabe.Text + sZeichen ' Diese Zeile ist nicht neu
    End Sub ' Ende der Funktion

  11. Erzeuge im vorhandenen Form den CommandButton "C" mit dem Namen clear zum Rücksetzen aller erforderlichen Variablen und des Zahlenausgabefeldes Ausgabe. D.h.

    Private Sub clear_Click() ' Diese Funktion ist zu ergänzen
    iWert = 0 ' Die Variable iWert wird rückgesetzt (=initialisiert)
    ausgabe.Text = "" ' Das Textfeld Ausgabe wird rückgesetzt
    iZust = 0 ' Der Zustand des Programmes wird rückgesetzt
    End Sub 'Ende der Funktion

  12. Erzeuge im vorhandenen Form den CommandButton "=" mit dem Namen IstGleich zum Berechnen des neuen Zahlenwertes. Wenn der Button IstGleich gedrückt wird, muß folgende Funktionalität ausgeführt werden:

    Private Sub Istgleich_Click() ' Diese Funktion ist zu füllen
    If (iZust = 1) Then
    'Wenn zuvor + gedrückt wurde, dann:
    iWert = iWert + CInt(ausgabe.Text)
    'Der Wert iWert und der Wert im Textfeld Ausgabe werden addiert
    End If '
    Ende von wenn--> dann
    If (iZust = 2) Then
    'Wenn zuvor - gedrückt wurde, dann:
    iWert = iWert - CInt(ausgabe.Text)
    'Vom Wert iWert wird der Wert vom Textfeld Ausgabe subtrahieren
    End If '
    Ende von wenn--> dann
    ausgabe.Text = CStr(iWert)
    ' Den neuberechneten iWert im Textfeld Ausgabe darstellen
    iZust = 0
    ' Der Zustand des Programmes wird rückgesetzt
    bAusgabeLeeren = True
    ' Merken, daß das Textfeld Ausgabe geleert werden muß
    End Sub
    'Ende der Funktion