Tutorial
Visual WX-C Designer einrichten und eigene GUIs erstellen
von Affemitwaffel | Seite 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
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.
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|
|