Hallo zusammen,
da ich für meinen Beruf in naher Zukunft die Grundlagen in VBA beherrschen muss, habe ich mich selber einmal ein wenig in das Thema eingearbeitet und mich an einem Taschenrechner probiert. Das Programm soll, vom Eingabeverhalten, so laufen wie ein normaler Taschenrechner, z.B.:
Zahl wird eingetippt
Plus wird gedrückt (Oder anderer Operator)
Zahl wird eingetippt
=> Hier sollen jetzt zwei Varianten greifen: Bei Plus soll das Ergebnis von den beiden zahlen ausgegeben werden, genauso aber auch wenn man die Taste Gleich betätigt.
=> natürlich soll die Möglichkeit bestehen auch einfach weiter zu rechnen. (1+1+1+1+1....) Dabei soll bei Plus immer das aktuelle Ergebnis ausgegeben werden, wie bei einem Standard Taschenrechner.
Problem ist dass er die falschen Ergebnisse ausliest, z.B.: 1+1+1 = 5
Hier die Datei zum downloaden -> rapidshare.com/files/423782281/TaschenrechnerTest.xls
Hier meine ersten Versuche, leider hapert es noch ein wenig. In meinem Beispiel soll erstmal nur Plus berücksichtigt werden, deswegen habe ich den Code der anderen Operatoren erstmal weggelassen:
UserForm Code:
da ich für meinen Beruf in naher Zukunft die Grundlagen in VBA beherrschen muss, habe ich mich selber einmal ein wenig in das Thema eingearbeitet und mich an einem Taschenrechner probiert. Das Programm soll, vom Eingabeverhalten, so laufen wie ein normaler Taschenrechner, z.B.:
Zahl wird eingetippt
Plus wird gedrückt (Oder anderer Operator)
Zahl wird eingetippt
=> Hier sollen jetzt zwei Varianten greifen: Bei Plus soll das Ergebnis von den beiden zahlen ausgegeben werden, genauso aber auch wenn man die Taste Gleich betätigt.
=> natürlich soll die Möglichkeit bestehen auch einfach weiter zu rechnen. (1+1+1+1+1....) Dabei soll bei Plus immer das aktuelle Ergebnis ausgegeben werden, wie bei einem Standard Taschenrechner.
Problem ist dass er die falschen Ergebnisse ausliest, z.B.: 1+1+1 = 5
Hier die Datei zum downloaden -> rapidshare.com/files/423782281/TaschenrechnerTest.xls
Hier meine ersten Versuche, leider hapert es noch ein wenig. In meinem Beispiel soll erstmal nur Plus berücksichtigt werden, deswegen habe ich den Code der anderen Operatoren erstmal weggelassen:
UserForm Code:
VB.NET-Quellcode
- Option Explicit
- Public Zahl1 As Double, Ergebnis As Double, Ausgabe As Double
- Public Anzahl As Integer
- Public Rechenart As String
- Public test As Double
- 'Nummernfeld
- Private Sub cmd0_Click()
- Ergebnis = Ergebnis + 0
- txtErgebnis = txtErgebnis + "0"
- End Sub
- Private Sub cmd1_Click()
- Ergebnis = Ergebnis + 1
- txtErgebnis.Text = 1
- End Sub
- Private Sub cmd2_Click()
- Ergebnis = Ergebnis + 2
- txtErgebnis = txtErgebnis + "2"
- End Sub
- Private Sub cmd3_Click()
- Ergebnis = Ergebnis + 3
- txtErgebnis = txtErgebnis + "3"
- End Sub
- Private Sub cmd4_Click()
- Ergebnis = Ergebnis + 4
- txtErgebnis = txtErgebnis + "4"
- End Sub
- Private Sub cmd5_Click()
- Ergebnis = Ergebnis + 5
- txtErgebnis = txtErgebnis + "5"
- End Sub
- Private Sub cmd6_Click()
- Ergebnis = Ergebnis + 6
- txtErgebnis = txtErgebnis + "6"
- End Sub
- Private Sub cmd7_Click()
- Ergebnis = Ergebnis + 7
- txtErgebnis = txtErgebnis + "7"
- End Sub
- Private Sub cmd8_Click()
- Ergebnis = Ergebnis + 8
- txtErgebnis = txtErgebnis + "8"
- End Sub
- Private Sub cmd9_Click()
- Ergebnis = Ergebnis + 9
- txtErgebnis = txtErgebnis + "9"
- End Sub
- Private Sub cmdKomma_Click()
- txtErgebnis = txtErgebnis + ","
- End Sub
- 'Zuweisung der Rechenarten
- Private Sub cmdPlus_click()
- txtErgebnis.Text = ""
- Anzahl = Anzahl + 1
- Zahl1 = CDbl(Ergebnis)
- Rechenart = "addieren"
- If Anzahl > 1 Then
- txtErgebnis.Text = Ergebnis
- End If
- Ausrechnen Zahl1, Rechenart
- End Sub
- 'Rechenarten
- Private Sub Ausrechnen(Zahl As Double, Rechenart As String)
- Select Case Rechenart
- Case "addieren"
- Ergebnis = Ergebnis + Zahl
- Case "subtrahieren"
- Ausgabe = Zahl - Ergebnis
- Case "multiplizieren"
- Ausgabe = Zahl * Ergebnis
- Case "dividieren"
- Ausgabe = Zahl / Ergebnis
- Case "potenzieren"
- Ausgabe = Zahl ^ Ergebnis
- Case "wurzelziehen"
- Ausgabe = Zahl ^ (1 / Ergebnis)
- End Select
- test = Ergebnis
- End Sub
- 'Löschen
- Private Sub cmdClear_click()
- txtErgebnis.Text = ""
- Ausgabe = 0
- Ergebnis = 0
- Anzahl = 0
- Zahl1 = 0
- End Sub
- 'Rechnung
- Private Sub cmdGleich_click()
- txtErgebnis.Value = test
- Anzahl = 0
- End Sub
- Private Sub cmdEnde_Click()
- Unload Me
- End Sub
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kayrodesign“ ()