Erzeuge im vorhandenen Form ein Frame (Caption: Ausgabe). Erzeuge darin eine große Textbox (Name: Ausgabe; Enabled:False)
Erzeuge darunter ein Frame (Caption: Eingabe). Erzeuge darin horizontal eine Textbox (Name: Eingabe; Enabled:False), einen Button (Name:Aktion; Caption: Eingabe; Enabled: False) und einen weiteren Button (Name: Abbruch; Caption: Abbruch; Enabled: False).
Erzeuge darunter ein Frame (Caption: Funktionen). Erzeuge darin einen Button (Name: Einzahlung; Caption: Einzahlung; Enabled: False) und horizontal dazu einen weiteren Button (Name: ueberweisung; Caption: Überweisung; Enabled: False) und noch einen Button (Name: Beleg; Caption: Beleg ausgeben; Enabled: False)
Erzeuge im vorhandenen Form rechts unten einen Button (Name: einaus; Caption: Anmelden/Abmelden; Enabled: True).
Zuerst werden alle erforderlichen globalen
Variablen und Konstanten definiert.
<<< Erzeuge
eine Konstante sInfoBeginn vom Datentyp String mit dem Wert "Bitte
gültigen PIN-Code eingeben und <Eingabe>-Taste
betätigen." >>>
<<< Erzeuge eine
Konstante sFehlerCode vom Datentyp mit dem Wert "Der
eingegebene PIN-Code ist ungültig. " >>>
<<<
Erzeuge eine Konstante sInfoAnmeldungOk vom Datentyp String mit dem
Wert "Sie wurden erfolgreich am Transomat angemeldet. "
>>>
<<< Erzeuge eine Konstante
sInfoNeueFunktion vom Datentyp String mit dem Wert "Bitte
wählen Sie eine neue Funktion oder melden Sie sich ab."
>>>
<<< Erzeuge eine Konstante
sInfoUeberweisung vom Datentyp String mit dem Wert "Bitte geben
Sie Betrag in EURO, Kontonummer, Bankleitzahl, Name des Empfängers
ein." >>>
<<< Erzeuge eine Konstante
sInfoEinzahlung vom Datentyp String mit dem Wert "Bitte geben
Sie den auf Ihr Konto einzuzahlenden Betrag in EURO ein. "
>>>
<<< Erzeuge eine Konstante sInfoGeldeingabe
vom Datentyp String mit dem Wert "Bitte stecken Sie das Geld in
die Einzahlungsöffnung." >>>
<<<
Erzeuge eine Konstante sInfoEingabe vom Datentyp String mit dem Wert
"Bitte die <Eingabe>-Taste drücken." >>>
<<<
Erzeuge eine Konstante sInfoAbmelden vom Datentyp String mit dem
Wert "Bitte melden Sie sich ab." >>>
' Erzeuge
eine modulglobale Array-Variable saTransaktionsZeile[1 bis 5] vom
Datentyp String
Private saTransaktionsZeile(1 To 5) As String
<<<
Erzeuge eine modul-globale Variable iBelegIndex vom Datentyp Integer
>>>
<<< Erzeuge eine öffentlich-globale
Variable iZustProg vom Datentyp Integer >>> 'Die Zustände
des Programmes sind:
'0: ausgeschaltet
'1: eingeschaltet
'2:
angemeldet
'3: Einzahlung
'4: Ueberweisung
Zum "Enablen" und "Disablen"
der Zustandsbuttons wird eine eigene Funktion
ButtonsEnable() implementiert.
Private
Sub ButtonsEnable(bOn As Boolean)
<<< Setze die
Eigenschaft Enabled des Objektes einzahlung auf den Wert bOn >>>
<<<
Setze die Eigenschaft Enabled des Objektes ueberweisung auf den Wert
bOn >>>
<<< Setze die Eigenschaft Enabled des
Objektes Beleg auf den Wert bOn >>>
'Setze die
Eigenschaft Enabled des Objektes eingabe auf den negierten
Wert bOn
eingabe.Enabled = Not bOn
End Sub
Wird der Button Anmelden/Abmelden
gedrückt, wird der Programmzustand entsprechend verändert
und entsprechende Informationen an den Benutzer ausgegeben.
Private
Sub einaus_Click()
<<< (Beginn von "Select Case"
) Im Fall, dass die Variable iZustProg folgenden Wert hat... >>>
<<<
... den Wert 0 >>> 'wenn ausgeschaltet
<<<
Setze die Variable iZustProg auf den Wert 1 >>>
'eingeschaltet
<<< Setze die Eigenschaft Text des
Objektes ausgabe auf den Wert der Variablen sInfoBeginn >>>
<<<
Setze die Eigenschaft Enabled des Objektes aktion auf den Wert True
>>>
<<< Setze die Eigenschaft Enabled des
Objektes eingabe auf den Wert True >>>
Case Else
'andernfalls
<<< Setze den Wert der Variagblen iZustProg
auf den Wert 0 >>>'ausgeschaltet
<<< Setze die
Eigenschaft Text des Objektes ausgabe auf einen Leerstring >>>
<<<
Setze die Eigenschaft Text des Objektes eingabe auf einen Leerstring
>>>
ButtonsEnable (False) 'Rufe die Funktion
ButtonsEnable() mit dem Parameter False auf
<<< Setze
die Eigenschaft Enabled des Objektes eingabe auf den Wert False
>>>
<<< Setze die Eigenschaft Enabled des
Objektes aktion auf den Wert False >>>
<<<
Setze die Eigenschaft Enabled des Objektes Abbruch auf den Wert
False
<<< (Ende von "Select Case") >>>
End
Sub
Wird der Button Einzahlung
gedrückt, wird der Programmzustand entsprechend verändert
und entsprechende Informationen an den Benutzer ausgegeben.
Private
Sub einzahlung_Click()
<<< Wenn der Wert der Variablen
iBelegIndex kleiner gleich 5 ist, dann >>>
<<<
Rufe die Funktion ButtonsEnable() mit dem Parameter False auf
>>>
<<< Setze die Eigenschaft Text des Objektes
ausgabe auf nachfolgenden Wert: sInfoEinzahlung + Chr$(13) +
Chr$(10) + sInfoGeldeingabe >>>
<<< Füge
der Eigenschaft Text des Objektes ausgabe nachfolgenden Wert dazu:
Chr$(13) + Chr$(10) + sInfoEingabe>>>
<<< Setze
die Variable iZustProg auf den Wert 3 >>>'Einzahlung
<<<
Setze die Eigenschaft Text des Objektes eingabe auf einen
Leerstring.
<<< andernfalls >>>
<<<
Setze die Eigenschaft Text des Objektes ausgabe auf den Wert "Das
Maximum der Transaktionen wurde erreicht." >>>
<<<
Füge der Eigenschaft Text des Objektes ausgabe nachfolgenden
Wert dazu: Chr$(13) + Chr$(10) + sInfoAbmelden >>>
<<<
Ende von "Wenn">>>
End Sub
Wird der Button Überweisung
gedrückt, wird der Programmzustand entsprechend verändert
und entsprechende Informationen an den Benutzer ausgegeben.
Private
Sub ueberweisung_Click()
<<< Wenn der Wert der Variablen
iBelegIndex kleiner gleich 5 ist, dann >>>
<<<
Rufe die Funktion ButtonsEnable() mit dem Parameter False auf
>>>
<<< Setze die Eigenschaft Text des Objektes
ausgabe auf nachfolgenden Wert :sInfoUeberweisung + Chr$(13) +
Chr$(10) + sInfoEingabe >>>
<<< Setze die
Variable iZustProg auf den Wert 4 >>>'Ueberweisung
<<<
Setze die Eigenschaft Text des Objektes eingabe auf einen Leerstring
>>>
<<< andernfalls>>>
<<<
Setze die Eigenschaft Text des Objektes ausgabe auf den Wert "Das
Maximum der Transaktionen wurde erreicht." >>>
<<<
Füge der Eigenschaft Text des Objektes ausgabe nachfolgenden
Wert dazu: Chr$(13) + Chr$(10) + sInfoAbmelden >>>
<<<
Ende von "Wenn" >>>
End Sub
Wird der Button Beleg ausgeben gedrückt,
werden alle Transaktionsinformationen der aktuellen Sitzung an den
Benutzer ausgegeben.
Private Sub Beleg_Click()
<<<
Setze die Eigenschaft Text des Objektes ausgabe auf nachfolgenden
Wert: "Beleg am: " + CStr(Date) + " Beginn" +
Chr$(13) + Chr$(10) >>>
<<< Beginn einer
For-Schleife, die Variable i durchläuft die Werte von 1 bis
iBelegIndex - 1 >>>
<<< Füge der
Eigenschaft Text des Objektes ausgabe nachfolgenden Wert dazu:
saTransaktionsZeile(i) + Chr$(13) + Chr$(10) >>>
<<<
Ende der "For-Schleife" >>>
<<< Füge
der Eigenschaft Text des Objektes ausgabe nachfolgenden Wert dazu:
"Beleg am: " + CStr(Date) + " Ende" >>>
End
Sub
Im Zustand Einzahlung werden in
der Textbox Eingabe nur Zahlen zugelassen.
Private
Sub eingabe_Change()
<<< Definiere die Variable dZahl
vom Datentyp Double, welche am Ende der Funktion zerstört wird
>>>
<<< Wenn der Wert der Variablen gleich 3
ist , dann >>> 'wenn Einzahlung
dZahl =
Val(eingabe.Text) 'Val() günstiger als CDbl()
<<<
Wenn der Wert der Variablen dZahl gleich 0 ist, dann >>>
<<<
Setze die Eigenschaft Text des Objektes eingabe auf einen Leerstring
>>>
<<< andernfalls >>>
eingabe.Text
= CStr(dZahl)
<<< Ende von "Wenn" >>>
<<<
Ende von "Wenn" >>>
End Sub
Wird der Button Abbruch gedrückt,
wird die aktuelle Funktion (Transaktion) abgebrochen.
Private
Sub abbruch_Click()
<<< Setze den Wert der variablen
iZustProg auf den Wert 2 >>>'angemeldet
<<<
Rufe die Funktion ButtonsEnable() mit dem Parameter True auf >>>
<<<
Setze die Eigenschaft Text des Objektes ausgabe auf den Wert
"Funktion wurde abgebrochen" >>>
<<<
Füge der Eigenschaft Text des Objektes ausgabe nachfolgenden
Wert dazu: ausgabe.Text + Chr$(13) + Chr$(10) + sInfoNeueFunktion
>>>
<<< Setze die Eigenschaft Text des Objektes
eingabe auf einen Leerstring. >>>
End Sub
Wird der Button Eingabe gedrückt,
wird je nach aktueller Funktion (=nach aktuellem Zustand) die
entsprechende Transaktion durchgeführt.
Private Sub
aktion_Click()
<<< Definiere die Variable dCode vom
Datentyp Double, welche am Ende der Funktion zerstört wird.
>>>
<<<(Beginn von "Select Case") Im
Falle, dass die Variable iZustProg die nachfolgenden Werte hat
>>>
Case 1 >>> 'eingeschaltet
dCode =
Val(eingabe.Text) 'Val() günstiger als CDbl()
<<<
Wenn der Ausdruck (Len(eingabe.Text) = 5 And (dCode = 12345))
stimmt, dann >>> 'Initialisierung
<<< Setze den
Wert der Variablen iZustProg auf den Wert 2 >>>
'angemeldet
<<< Setze den Wert der Variablen iBelegIndex
auf den Wert 1 >>>
<<< Rufe die Funktion
ButtonsEnable() mit dem Parameter True auf >>>
<<<
Setze die Eigenschaft Enabled des Objektes Abbruch auf den Wert True
>>>
<<< Setze die Eigenschaft Text des Objektes
eingabe auf einen Leerstring. >>>
<<< Setze die
Eigenschaft Text des Objektes ausgabe auf nachfolgenden Wert:
sInfoAnmeldungOk + Chr$(13) + Chr$(10) + sInfoNeueFunktion >>>
<<<
andernfalls >>> 'Anmeldung fehlgeschlagen
<<<
Setze die Eigenschaft Text des Objektes eingabe auf einen Leerstring
>>>
<<< Setze die Eigenschaft Text des Objektes
ausgabe auf nachfolgenden Wert: sFehlerCode + Chr$(13) + Chr$(10) +
sInfoBeginn >>>
<<< Ende von "Wenn"
>>>
Case 3 ' Einzahlung
saTransaktionsZeile(iBelegIndex)
= "Einzahlung des Eigenerlags in EURO: " +
CStr(Val(eingabe.Text))
<<< Erhöhe die Variable
iBelegIndex um den Wert 1 >>>
<<< Setze die
Eigenschaft Text des Objektes eingabe auf einen Leerstring >>>
<<<
Setze die Eigenschaft Text des Objektes ausgabe auf den Wert "Ihre
Einzahlung wurde durchgeführt.">>>
<<<
Füge der Eigenschaft Text des Objektes ausgabe nachfolgenden
Wert dazu: Chr$(13) + Chr$(10) + sInfoNeueFunktion >>>
<<<
Setze die Variable iZustProg auf den Wert 2 >>>'angemeldet
<<<
Rufe die Funktion ButtonsEnable() mit dem Parameter True auf
>>>
Case 4 '
Ueberweisung
saTransaktionsZeile(iBelegIndex) = "Weiterleitung
der Überweisung in EURO: " + eingabe.Text
<<<
Erhöhe die Variable iBelegIndex um den Wert 1 >>>
<<<
Setze die Eigenschaft Text des Objektes eingabe auf einen Leerstring
>>>
<<< Setze die Eigenschaft Text des Objektes
ausgabe auf den Wert "Ihre Ueberweisung wurde weitergeleitet."
>>>
<<< Füge der Eigenschaft Text des
Objektes ausgabe nachfolgenden Wert hinzu: Chr$(13) + Chr$(10) +
sInfoNeueFunktion >>>
<<< Setze die Variable
iZustProg auf den Wert 2 >>> 'angemeldet
<<<
Rufe die Funktion ButtonsEnable() mit dem Parameter True auf >>>
<<<
Ende von "Select Case " >>>
End Sub