Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Tutorial

Visual WX-C Designer einrichten und eigene GUIs erstellen

von MitgliedAffemitwaffelSeite 4 von 4

Der Taschenrechner

Das Ziel dieser Seite ist das Erstellen eines funktionierenden, rudimentären Taschenrechners.

Das Fenster im Visual WX-C Designer

Taschenrechner
Vergrößern
Taschenrechner

Zunächst sollten 15 Buttons für die Zahlen 0-9, "+", "-", "*", "/" und "=" erstellt werden. Allen Buttons muss das Button_Clicked-Event zugeordnet werden. Weiterhin wird eine Anzeige benötigt. Ein TextCtrl-Widget eignet sich hierfür sehr gut. Der Taschenrechner sollte hinterher in etwa so aussehen, wie im Bild auf der rechten Seite dargestellt.
Ist die Form erst erstellt, kann der Code exportiert werden und die Programmlogik in einer bevorzugten IDE eingebaut werden.

Einen Beispielquellcode für die Form findet sich hier.

Die Zahlen

Am Einfachsten ist es, den Taschenrechner aufzubauen, indem man erstmal globale Variablen für die Rechenart, die aktuelle Eingabe und die Zahlen macht. Auch die Deklaration des TextCtrl-Widget sollte in eine global Deklaration abgewandelt werden, damit der Inhalt des TextCtrl-Widgets von überall erreichbar ist.
Die Eventsubs könnten alle so gefüllt werden:

Sub button0_event WXCALL ( ByVal event As wxEvent Ptr, ByVal iListener As wxInt )

    Select Case wxEvent_GetEventType( event )
        Case wxEvent_EVT_COMMAND_BUTTON_CLICKED
            Eingabe += "0" 'diese Zeile muss für jede Zahl verändert werden
            wxTextCtrl_SetValue( textctrl0, wxString_ctorUTF8(Eingabe) )
    End Select

End Sub

Das Rechnen

Für das Ausrechnen der Rechenoperationen, könnte eine Funktion in etwa so aussehen:

Function Rechnen(Art As String, Zahl As Integer, Zahl2 As Integer) As String
    Select Case Art
        Case "+"
            Return Str(Zahl + Zahl2)
        Case "-"
            Return Str(Zahl - Zahl2)
        Case "*"
            Return Str(Zahl * Zahl2)
        Case "/"
            Return Str(Int(Zahl / Zahl2))
    End Select
End Function

Die Rechenarten

Der Event-Code der Buttons der Rechenoperationen würde dann folgendermaßen gefüllt werden:

Sub button11_event WXCALL ( ByVal event As wxEvent Ptr, ByVal iListener As wxInt )

    Select Case wxEvent_GetEventType( event )
        Case wxEvent_EVT_COMMAND_BUTTON_CLICKED
            Zahl1 = Val(Eingabe)
            Art = "+"
            Eingabe = ""
            wxTextCtrl_SetValue( textctrl0, wxString_ctorUTF8("+") )
    End Select

End Sub

Das Ergebnis

Das Event für den Ergebnisbutton würde so aussehen:

Sub button15_event WXCALL ( ByVal event As wxEvent Ptr, ByVal iListener As wxInt )

    Select Case wxEvent_GetEventType( event )
        Case wxEvent_EVT_COMMAND_BUTTON_CLICKED
            wxTextCtrl_SetValue( textctrl0, wxString_ctorUTF8(Rechnen(Art, Zahl1, Val(Eingabe))) )
            Eingabe = ""
    End Select

End Sub

Eine Beispiellösung

Eine Beispiellösung für den Taschenrechner lässt sich hier einsehen. Eine weitere Umsetzung findet sich in den Beispieldateien des Visual WX-C Designers.

 

Gehe zu Seite Gehe zu Seite  1  2  3  4  
Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 04.04.2012 von MitgliedAffemitwaffel angelegt.
  • Die aktuellste Version wurde am 20.02.2014 von MitgliedLothar Schirm gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen