Textfeld löschen wenn neue Eingabe erfolgt

Hellter

Grünschnabel
Hi Folks und Guten Freitag,

hab grad folgendes Problem: Ich hab nen Taschenrechner der aber die zahlen immer in text1 stehen lässt auch wenn ich schon "=" geklickt habe! Soll er aber nicht!
Ich verzweifle!

Thx schonmal

Gruß dEr hEllter
 
Hi!

Setzte doch einfach das Textfeld zurück, bevor neue Sachen darin anzeigen willst.

Code:
text1.text = ""

Gruß,

tY
 
Das Prob ist nur das er das nur löschen soll wenn ich auf ne neue Zahlentaste gehe! Daran scheitere ich! Verdammte Logik :)
 
dann mach in deine zahlenabschnitt code folgendes:

text1.text = clear


das wars...dann wird das fenster gereinigt...
aber vorher solltest du die aktuelle zahl in eine vaiable speichern
 
Bringt nichts

bei Zahlen soll er nicht weiter eintragen können! Nur wenn weiter rechenzeichen geklickt werden soll er weiter mit der VAR zahl1 (die in Text1 steht) rechnen......das klappt aber alles so nicht!

(!) Hilfe (!)
 
Code:
Dim zahl1 As String
Dim rechenart As String
 
Private Sub mal_Click()
zahl1 = Text1
'die Variable soll genau den Wert des Displays erhalten
rechenart = "multiplizieren"
'variable "rechenart" soll den Wert "addieren" erhalten
Text1 = ""
'Display leeren
End Sub
 
Private Sub geteilt_Click()
zahl1 = Text1
rechenart = "dividieren"
Text1 = ""
End Sub
 
Private Sub plus_click()
zahl1 = Text1
rechenart = "addieren"
Text1 = ""
End Sub
 
Private Sub minus_Click()
zahl1 = Text1
rechenart = "subtrahieren"
Text1 = ""
End Sub
 
Private Sub CommandButton15_Click()
Text1 = Text1 + "0"
End Sub
 
Private Sub CommandButton16_Click()
Text1 = Text1 + ","
End Sub
 
Private Sub CommandButton17_Click()
Text1 = ""
zahl1 = ""
'Variable und Display löschen
End Sub
 
Private Sub CommandButton7_click()
Text1 = Text1 + "1"
End Sub
 
Private Sub CommandButton8_click()
Text1 = Text1 + "2"
End Sub
 
Private Sub CommandButton9_click()
Text1 = Text1 + "3"
End Sub
 
Private Sub CommandButton4_click()
Text1 = Text1 + "4"
End Sub
 
Private Sub CommandButton5_click()
Text1 = Text1 + "5"
End Sub
 
Private Sub CommandButton6_click()
Text1 = Text1 + "6"
End Sub
 
Private Sub CommandButton1_click()
Text1 = Text1 + "7"
End Sub
 
Private Sub Rueck_Click()
Text1 = Left(Text1, Len(Text1) - 1)
End Sub
Private Sub CommandButton2_click()
Text1 = Text1 + "8"
End Sub
 
Private Sub CommandButton3_click()
Text1 = Text1 + "9"
End Sub
 
Private Sub CommandButton14_Click()
On Error Resume Next
If Text1 = "0" Then
Text1 = "Pimmelschimmel"
ElseIf rechenart = "addieren" Then
Text1 = CDbl(zahl1) + CDbl(Text1)
'mit cdbl() wird der jeweilige Inhalt in Zahlen umgewandelt
ElseIf rechenart = "subtrahieren" Then
Text1 = CDbl(zahl1) - CDbl(Text1)
ElseIf rechenart = "multiplizieren" Then
Text1 = CDbl(zahl1) * CDbl(Text1)
ElseIf rechenart = "dividieren" Then
Text1 = CDbl(zahl1) / CDbl(Text1)
End If
End Sub
 
Ich habe in deinem Code eine zusätzliche Variable result As Boolean eingebunden. Sie wird von den Rechenoperationen verändert und wird beim klicken auf eine Zahl überprüft.
Die neuen Stellen habe ich hervorgehoben.

Code:
Option Explicit
Dim zahl1 As String
Dim rechenart As String
Dim result As Boolean

Private Sub mal_Click()
zahl1 = Text1
'die Variable soll genau den Wert des Displays erhalten
rechenart = "multiplizieren"
'variable "rechenart" soll den Wert "addieren" erhalten
Text1 = ""
'Display leeren
result = False
End Sub
 
Private Sub geteilt_Click()
zahl1 = Text1
rechenart = "dividieren"
Text1 = ""
result = False
End Sub
 
Private Sub plus_click()
zahl1 = Text1
rechenart = "addieren"
Text1 = ""
result = False
End Sub
 
Private Sub minus_Click()
zahl1 = Text1
rechenart = "subtrahieren"
Text1 = ""
result = False
End Sub
 
Private Sub CommandButton15_Click()
If result = False Then
Text1 = Text1 + "0"
End If
End Sub
 
Private Sub CommandButton16_Click()
If result = False Then
Text1 = Text1 + ","
End If
End Sub
 
Private Sub CommandButton17_Click()
Text1 = ""
zahl1 = ""
'Variable und Display löschen
result = False
End Sub
 
Private Sub CommandButton7_click()
If result = False Then
Text1 = Text1 + "1"
End If
End Sub
 
Private Sub CommandButton8_click()
If result = False Then
Text1 = Text1 + "2"
End If
End Sub
 
Private Sub CommandButton9_click()
If result = False Then
Text1 = Text1 + "3"
End If
End Sub
 
Private Sub CommandButton4_click()
If result = False Then
Text1 = Text1 + "4"
End If
End Sub
 
Private Sub CommandButton5_click()
If result = False Then
Text1 = Text1 + "5"
End If
End Sub
 
Private Sub CommandButton6_click()
If result = False Then
Text1 = Text1 + "6"
End If
End Sub
 
Private Sub CommandButton1_click()
If result = False Then
Text1 = Text1 + "7"
End If
End Sub
 
Private Sub Rueck_Click()
Text1 = Left(Text1, Len(Text1) - 1)
result = False
End Sub
 
Private Sub CommandButton2_click()
If result = False Then
Text1 = Text1 + "8"
End If
End Sub
 
Private Sub CommandButton3_click()
If result = False Then
Text1 = Text1 + "9"
End If
End Sub
 
Private Sub CommandButton14_Click()
On Error Resume Next
If Text1 = "0" Then
Text1 = "Pimmelschimmel"
Exit Sub
ElseIf rechenart = "addieren" Then
Text1 = CDbl(zahl1) + CDbl(Text1)
'mit cdbl() wird der jeweilige Inhalt in Zahlen umgewandelt
ElseIf rechenart = "subtrahieren" Then
Text1 = CDbl(zahl1) - CDbl(Text1)
ElseIf rechenart = "multiplizieren" Then
Text1 = CDbl(zahl1) * CDbl(Text1)
ElseIf rechenart = "dividieren" Then
Text1 = CDbl(zahl1) / CDbl(Text1)
End If
result = True
End Sub
 
Zuletzt bearbeitet von einem Moderator:
Zurück