Hilfe ! Taschenrechner!

identity

Grünschnabel
Hi

ich sollte von der schule aus einen einfachen taschenrechner erstellen habe das dann au gemacht und das ganze zieht bei mir so aus !




Private Sub cmdclose_Click()
Unload Me

End Sub

Private Sub cmddurch_Click()
Ausfuehren "/"
End Sub

Private Sub cmderase_Click()
txtzahl1 = ""
txtzahl2 = ""
txtergebnis = ""
txtzahl1.SetFocus

End Sub

Private Sub cmdmal_Click()
Ausfuehren "*"
End Sub

Private Sub cmdminus_Click()
Ausfuehren "-"
End Sub

Private Sub cmdplus_Click()
Ausfuehren "+"
End Sub

Public Sub Ausfuehren()

Dim dblzahl1 As Double
Dim dblzahl2 As Double

dblzahl1 = txtzahl1
dblzahl2 = txtzahl2

dblergebnis = berechnen(dblzahl1, dblzahl2, stroperand)

txtzahl1.SetFocus

End Sub


Public Function dblAusfuehren(ablzahl1 As Double, _
ablzahl2 As Double, strzeichen As String) As Double

Select Case strzeichen
Case "+"
dblgrundrechenarten = dblzahl1 + dbzahl2
Case "-"
dblgrundrechenarten = dblzahl1 - dbzahl2
Case "*"
dblgrundrechenarten = dblzahl1 * dbzahl2
Case "/"
dblgrundrechenarten = dblzahl1 / dbzahl2
Case Else
Debug.Print "falsche eingabe"
End Select
End Function






aber wenn ich dann auf ausführen geh makiert er mir zb beim plus rechnen das an


Private Sub cmdplus_Click()
Ausfuehren "+"
end sub


ich weiß ned genau was falsch ist :(
 
Mit:

Ausführen "+"

denk ich mal möchtest Du ihm mitteilen, dass er das (das, der, die? keine Ahnung ;) ) Sub Ausführen aufrufen soll!? Du möchtest dieser Sub wahrscheinlich mit dem "+" mitteilen, dass er + rechnen soll?! Das wird so aber nix, weil das Sub "Ausführen" keine Übergabeparameter annimmt!

Die Sub Ausführen müßte so beginnen:

Code:
Sub Ausführen(ByVal Rechenart as String)
   ... 'hier den Code für die Rechenarten rein
End Sub

Dann kannst Du das Sub mit dem Übergabeparameter aufrufen und dort dann prüfen welchen Inhalt die Variable "Rechenart" hat (+, -, / oder *).

MfG
..::Six Dark::..
 
Klar, du rufst eine Prozedur mit einem Wert auf, die Prozedur erwartet aber keine Werte. Einfach die Zeile
Code:
Public Sub Ausfuehren()
durch die Zeile
Code:
Public Sub Ausfuehren(stroperand As String)
ersetzten. Du kriegst in deinem Projekt dann aber noch mehrere Probleme. Ich hab deinen Code mal überarbeitet:
Code:
Private Sub cmdclose_Click()
Unload Me

End Sub

Private Sub cmddurch_Click()
Ausfuehren "/"
End Sub

Private Sub cmderase_Click()
txtzahl1 = ""
txtzahl2 = ""
txtergebnis = ""
txtzahl1.SetFocus

End Sub

Private Sub cmdmal_Click()
Ausfuehren "*"
End Sub

Private Sub cmdminus_Click()
Ausfuehren "-"
End Sub

Private Sub cmdplus_Click()
Ausfuehren "+"
End Sub

Public Sub Ausfuehren(stroperand As String)

Dim dblzahl1 As Double
Dim dblzahl2 As Double

dblzahl1 = txtzahl1
dblzahl2 = txtzahl2

dblergebnis = dblAusfuehren(dblzahl1, dblzahl2, stroperand)

txtzahl1 = dblergebnis
txtzahl2 = ""
txtzahl1.SetFocus

End Sub


Public Function dblAusfuehren(dblzahl1 As Double, _
dblzahl2 As Double, strzeichen As String) As Double

Select Case strzeichen
Case "+"
dblAusfuehren = dblzahl1 + dblzahl2
Case "-"
dblAusfuehren = dblzahl1 - dblzahl2
Case "*"
dblAusfuehren = dblzahl1 * dblzahl2
Case "/"
dblAusfuehren = dblzahl1 / dblzahl2
Case Else
Debug.Print "falsche eingabe"
End Select
End Function


Der Doc!
 
Original geschrieben von identity

ich sollte von der schule aus einen einfachen taschenrechner erstellen habe das dann au gemacht und das ganze zieht bei mir so aus !

[..]

aber wenn ich dann auf ausführen geh makiert er mir zb beim plus rechnen das an

ich weiß ned genau was falsch ist :(

Schreibt man bei Dir in der Schule auch ohne Punkt und Komma, durchgängig klein und mit Wörtern, die in keinem Lexikon stehen? Mach das bitte besser und halte Dich an die Netiquette, der Du bei Deiner Registrierung ausdrücklich zugestimmt hast :rolleyes: Danke ;)
 
Ich bin ja hier nicht in der Schule oder ? ;)

Hey Doc

Besten dank es funktoniert nun ! Jetzt habe ich es auch verstanden danke nochmals ! :)
 
Zurück